Check if request was successful or raises an HttpError

        :param response: Response Object to check
        :param default_response: Return value if JSONDecodeError
        :returns dict: Dictionary containing response data
        :returns bool: :obj:`False` on failure when exceptions are suppressed
        :raises requests.exceptions.HTTPError: If invalid response returned

def success_or_raise(self, response, default_response=None):
        """
        Check if request was successful or raises an HttpError

        :param response: Response Object to check
        :param default_response: Return value if JSONDecodeError
        :returns dict: Dictionary containing response data
        :returns bool: :obj:`False` on failure when exceptions are suppressed
        :raises requests.exceptions.HTTPError: If invalid response returned
        """
        if self.suppress_http_error and not response.ok:
            return False

        response_json = default_response
        if response_json is None:
            response_json = {}

        response.raise_for_status()

        try:
            response_json = response.json()
        except ValueError:
            pass

        return response_json