[ https://issues.apache.org/jira/browse/LIBCLOUD-598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14080016#comment-14080016 ]
ASF GitHub Bot commented on LIBCLOUD-598: ----------------------------------------- Github user asfgit closed the pull request at: https://github.com/apache/libcloud/pull/342 > IOError, 'Not a gzipped file' on LINODE driver > ---------------------------------------------- > > Key: LIBCLOUD-598 > URL: https://issues.apache.org/jira/browse/LIBCLOUD-598 > Project: Libcloud > Issue Type: Bug > Components: Compute > Reporter: Juan Carlos Moreno > > Linode response has "Content-Encoding: gzip" but plain text body is returned: > Request: > curl -i -X GET -H 'Host: api.linode.com' -H 'Accept-Encoding: gzip,deflate' > --compress > 'https://api.linode.com:443/?api_key=*********&api_responseFormat=json&api_action=avail.datacenters' > Response: > HTTP/1.1 200 OK > Server: nginx/1.1.19 > Date: Fri, 18 Jul 2014 09:47:34 GMT > Content-Type: application/json;charset=UTF-8 > Transfer-Encoding: chunked > Connection: keep-alive > X-Powered-By: Tiger Blood > Vary: Accept-Encoding > Content-Encoding: gzip > Strict-Transport-Security: max-age=31536000 > {"ERRORARRAY":[],"DATA":[{"LOCATION":"Dallas, TX, > USA","DATACENTERID":2,"ABBR":"dallas"},{"LOCATION":"Fremont, CA, > USA","DATACENTERID":3,"ABBR":"fremont"},{"LOCATION":"Atlanta, GA, > USA","DATACENTERID":4,"ABBR":"atlanta"},{"LOCATION":"Newark, NJ, > USA","DATACENTERID":6,"ABBR":"newark"},{"LOCATION":"London, England, > UK","DATACENTERID":7,"ABBR":"london"},{"LOCATION":"Tokyo, > JP","DATACENTERID":8,"ABBR":"tokyo"}],"ACTION":"avail.datacenters"} > Exception: > File ".libcloud/compute/drivers/ecm_linode.py", line 119, in list_nodes > data = self.connection.request(API_ROOT, params=params).objects[0] > File ".libcloud/common/base.py", line 687, in request > response = responseCls(**kwargs) > File ".libcloud/common/linode.py", line 91, in __init__ > headers=self.headers) > File ".libcloud/common/base.py", line 172, in _decompress_response > body = decompress_data('gzip', body) > File ".libcloud/utils/compression.py", line 39, in decompress_data > return gzip.GzipFile(fileobj=cls(data)).read() > File "/usr/lib/python2.6/gzip.py", line 212, in read > self._read(readsize) > File "/usr/lib/python2.6/gzip.py", line 255, in _read > self._read_gzip_header() > File "/usr/lib/python2.6/gzip.py", line 156, in _read_gzip_header > raise IOError, 'Not a gzipped file' > Proposed solution (caught IOError exception and continue) > libcloud/common/linode.py > < self.body = self._decompress_response(body=response.read(), > --- > > # ECmanaged: Linode hack > > # sends "Content-Encoding: gzip" header but a plain/text response > > > > response_read = response.read() > > > > try: > > self.body = self._decompress_response(body=response_read, > 91a97,98 > > except IOError: > > self.body = response_read.strip() -- This message was sent by Atlassian JIRA (v6.2#6252)