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