summaryrefslogtreecommitdiff
path: root/django/http/__init__.py
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-08-19 18:23:28 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-08-19 18:24:50 +0200
commit5f2d9cdbb1b1a8c91dcdd55e672801536711b5ef (patch)
treeb6e8f307f3b4e78928bd47169c90b6d10347e6fb /django/http/__init__.py
parent2892cb0ec4ebde4955f12c92183b7804558ca381 (diff)
[py3] Fixed another regression from 2892cb0ec4.
Diffstat (limited to 'django/http/__init__.py')
-rw-r--r--django/http/__init__.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/django/http/__init__.py b/django/http/__init__.py
index 6ca088996d..64abd6fa6e 100644
--- a/django/http/__init__.py
+++ b/django/http/__init__.py
@@ -673,11 +673,11 @@ class HttpResponse(object):
if self.has_header('Content-Encoding'):
def make_bytes(value):
if isinstance(value, int):
- return six.text_type(value).encode()
- elif isinstance(value, six.text_type):
- return value.encode('ascii')
- else:
- return bytes(value)
+ value = six.text_type(value)
+ if isinstance(value, six.text_type):
+ value = value.encode('ascii')
+ # force conversion to bytes in case chunk is a subclass
+ return bytes(value)
return b''.join(make_bytes(e) for e in self._container)
return b''.join(smart_bytes(e, self._charset) for e in self._container)
@@ -698,9 +698,10 @@ class HttpResponse(object):
def __next__(self):
chunk = next(self._iterator)
if isinstance(chunk, int):
- return six.text_type(chunk).encode()
+ chunk = six.text_type(chunk)
if isinstance(chunk, six.text_type):
- return chunk.encode(self._charset)
+ chunk = chunk.encode(self._charset)
+ # force conversion to bytes in case chunk is a subclass
return bytes(chunk)
next = __next__ # Python 2 compatibility