def __init__(self, response, connection): """ :param response: HTTP response object. (optional) :type response: :class:`httplib.HTTPResponse` :param connection: Parent connection object. :type connection: :class:`.Connection` """ self.connection = connection # http.client In Python 3 doesn't automatically lowercase the header # names self.headers = lowercase_keys(dict(response.headers)) self.error = response.reason self.status = response.status_code self.request = response.request self.iter_content = response.iter_content self.body = response.text.strip() \ if response.text is not None and hasattr(response.text, 'strip') \ else '' if not self.success(): raise exception_from_message(code=self.status, message=self.parse_error(), headers=self.headers) self.object = self.parse_body()
def __init__(self, response, connection): """ :param response: HTTP response object. (optional) :type response: :class:`httplib.HTTPResponse` :param connection: Parent connection object. :type connection: :class:`.Connection` """ self.connection = connection # http.client In Python 3 doesn't automatically lowercase the header # names self.headers = lowercase_keys(dict(response.headers)) self.error = response.reason self.status = response.status_code self.request = response.request self.iter_content = response.iter_content self.body = response.text.strip() \ if response.text is not None and hasattr(response.text, 'strip') \ else '' if not self.success(): raise exception_from_message(code=self.status, message=self.parse_error()) self.object = self.parse_body()
def __init__(self, response, connection): """ :param response: HTTP response object. (optional) :type response: :class:`httplib.HTTPResponse` :param connection: Parent connection object. :type connection: :class:`.Connection` """ self.connection = connection # http.client In Python 3 doesn't automatically lowercase the header # names self.headers = lowercase_keys(dict(response.getheaders())) self.error = response.reason self.status = response.status # This attribute is set when using LoggingConnection. original_data = getattr(response, '_original_data', None) if original_data: # LoggingConnection already decompresses data so it can log it # which means we don't need to decompress it here. self.body = response._original_data else: self.body = self._decompress_response(body=response.read(), headers=self.headers) if PY3: self.body = b(self.body).decode('utf-8') if not self.success(): raise exception_from_message(code=self.status, message=self.parse_error(), headers=self.headers) self.object = self.parse_body()
def __init__(self, response, connection): """ :param response: HTTP response object. (optional) :type response: :class:`httplib.HTTPResponse` :param connection: Parent connection object. :type connection: :class:`.Connection` """ self.connection = connection # http.client In Python 3 doesn't automatically lowercase the header # names self.headers = lowercase_keys(dict(response.getheaders())) self.error = response.reason self.status = response.status # This attribute is set when using LoggingConnection. original_data = getattr(response, '_original_data', None) if original_data: # LoggingConnection already decompresses data so it can log it # which means we don't need to decompress it here. self.body = response._original_data else: self.body = self._decompress_response(body=response.read(), headers=self.headers) if PY3: self.body = b(self.body).decode('utf-8') if not self.success(): raise exception_from_message(code=self.status, message=self.parse_error(), headers=self.headers) self.object = self.parse_body()