diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-08-19 18:23:28 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-08-19 18:24:50 +0200 |
| commit | 5f2d9cdbb1b1a8c91dcdd55e672801536711b5ef (patch) | |
| tree | b6e8f307f3b4e78928bd47169c90b6d10347e6fb /django/http/__init__.py | |
| parent | 2892cb0ec4ebde4955f12c92183b7804558ca381 (diff) | |
[py3] Fixed another regression from 2892cb0ec4.
Diffstat (limited to 'django/http/__init__.py')
| -rw-r--r-- | django/http/__init__.py | 15 |
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 |
