summaryrefslogtreecommitdiffstats
path: root/Lib/http
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2009-09-29 19:02:24 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2009-09-29 19:02:24 (GMT)
commit595ad32f59820c67c68d1732530338a79b45b810 (patch)
treed3c52dae217996aa726e2213d764a0d21ab55273 /Lib/http
parent941071ef79358d32d162d6203aca53dd82a37a45 (diff)
downloadcpython-595ad32f59820c67c68d1732530338a79b45b810.zip
cpython-595ad32f59820c67c68d1732530338a79b45b810.tar.gz
cpython-595ad32f59820c67c68d1732530338a79b45b810.tar.bz2
Merged revisions 75137 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r75137 | antoine.pitrou | 2009-09-29 20:44:53 +0200 (mar., 29 sept. 2009) | 14 lines [NOTE: the original bug doesn't exist in py3k but this adds Kirk's tests and fixes another bug in the process] Merged revisions 75134 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r75134 | antoine.pitrou | 2009-09-29 19:48:18 +0200 (mar., 29 sept. 2009) | 4 lines Issue #6790: Make it possible again to pass an `array.array` to `httplib.HTTPConnection.send`. Patch by Kirk McDonald. ........ ................
Diffstat (limited to 'Lib/http')
-rw-r--r--Lib/http/client.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py
index 2418340..42da984 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -726,10 +726,17 @@ class HTTPConnection:
if self.debuglevel > 0:
print("sendIng a read()able")
encode = False
- if "b" not in str.mode:
- encode = True
- if self.debuglevel > 0:
- print("encoding file using iso-8859-1")
+ try:
+ mode = str.mode
+ except AttributeError:
+ # io.BytesIO and other file-like objects don't have a `mode`
+ # attribute.
+ pass
+ else:
+ if "b" not in mode:
+ encode = True
+ if self.debuglevel > 0:
+ print("encoding file using iso-8859-1")
while 1:
data = str.read(blocksize)
if not data: