def stream_decode_response_unicode(iterator, r):
"""Stream decodes a iterator."""
encoding = get_encoding_from_headers(r.headers)
- if encoding is None:
+ try:
+ decoder = codecs.getincrementaldecoder(str(encoding))(errors='replace')
+ except LookupError:
for item in iterator:
yield item
return
-
- decoder = codecs.getincrementaldecoder(encoding)(errors='replace')
for chunk in iterator:
rv = decoder.decode(chunk)
if rv:
return unicode(r.content, encoding)
except UnicodeError:
tried_encodings.append(encoding)
+ except LookupError:
+ return r.content
# Fall back:
try: