utils.decode_gzip

This commit is contained in:
Kenneth Reitz
2011-08-20 19:46:50 -04:00
parent f038ec3b6e
commit 4906686186
2 changed files with 9 additions and 2 deletions
+2 -2
View File
@@ -21,7 +21,7 @@ from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPForcedBasicA
from .structures import CaseInsensitiveDict
from .packages.poster.encode import multipart_encode
from .packages.poster.streaminghttp import register_openers, get_handlers
from .utils import dict_from_cookiejar, get_unicode_from_response
from .utils import dict_from_cookiejar, get_unicode_from_response, decode_gzip
from .status_codes import codes
from .exceptions import RequestException, AuthenticationError, Timeout, URLRequired, InvalidMethod, TooManyRedirects
@@ -448,7 +448,7 @@ class Response(object):
# Decode GZip'd content.
if 'gzip' in self.headers.get('content-encoding', ''):
try:
self._content = zlib.decompress(self._content, 16+zlib.MAX_WBITS)
self._content = decode_gzip(self._content)
except zlib.error:
pass
+7
View File
@@ -12,6 +12,7 @@ that are also useful for external consumption.
import cgi
import cookielib
import re
import zlib
def dict_from_cookiejar(cookiejar):
@@ -131,3 +132,9 @@ def get_unicode_from_response(r):
return unicode(r.content, encoding, errors='replace')
except TypeError:
return r.content
def decode_gzip(content):
"""Return gzip-decoded string."""
return zlib.decompress(content, 16+zlib.MAX_WBITS)