From bffdadee57f4d412cb36db7e3f7303401d8c39d6 Mon Sep 17 00:00:00 2001 From: groqez <groqez@yopmail.net> Date: Wed, 5 Mar 2014 00:35:36 +0100 Subject: [PATCH] Decode HTTP responses, fixes bug #1282861 By default, the HTTPConnection class expose the raw.read urllib3 function which doesn't do any decoding on the http response. We can fix this by passing decode_content=True to raw.read(). Change-Id: I7d42d31ae516705d1bde2769e642931308116c7a --- swiftclient/client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/swiftclient/client.py b/swiftclient/client.py index 72dac8d9..ae16c175 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -22,6 +22,7 @@ import requests import sys import logging import warnings +import functools from distutils.version import StrictVersion from requests.exceptions import RequestException, SSLError @@ -210,7 +211,8 @@ class HTTPConnection: self.resp.getheaders = getheaders self.resp.getheader = getheader - self.resp.read = self.resp.raw.read + self.resp.read = functools.partial(self.resp.raw.read, + decode_content=True) return self.resp