From 04319c78d633420231079efbe55155c040b1ed1b Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Sat, 4 Aug 2007 03:41:19 +0000 Subject: [PATCH] Make sure LineAndFileWrapper gets bytes() as its first argument. This change fixes a test in test_urllib. --- Lib/httplib.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/httplib.py b/Lib/httplib.py index fe2f9ab85bb..4d7e5c5dc3c 100644 --- a/Lib/httplib.py +++ b/Lib/httplib.py @@ -340,7 +340,7 @@ def __init__(self, sock, debuglevel=0, strict=0, method=None): self.will_close = _UNKNOWN # conn will close at end of response def _read_status(self): - # Initialize with Simple-Response defaults + # Initialize with Simple-Response defaults. line = str(self.fp.readline(), "iso-8859-1") if self.debuglevel > 0: print("reply:", repr(line)) @@ -363,8 +363,10 @@ def _read_status(self): self.close() raise BadStatusLine(line) else: - # assume it's a Simple-Response from an 0.9 server - self.fp = LineAndFileWrapper(line, self.fp) + # Assume it's a Simple-Response from an 0.9 server. + # We have to convert the first line back to raw bytes + # because self.fp.readline() needs to return bytes. + self.fp = LineAndFileWrapper(bytes(line), self.fp) return "HTTP/0.9", 200, "" # The status code is a three-digit number