From: Jeremy Hylton Date: Thu, 12 Oct 2000 19:58:36 +0000 (+0000) Subject: If the status line is invalid, assume it is a pre-1.0 response. The X-Git-Tag: v2.0~73 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=110941a4ba037a3cab0224370aed71c465a2f865;p=thirdparty%2FPython%2Fcpython.git If the status line is invalid, assume it is a pre-1.0 response. The msg/headers are empty and the entire response is treated as the body. --- diff --git a/Lib/httplib.py b/Lib/httplib.py index 3856854127b2..268835930895 100644 --- a/Lib/httplib.py +++ b/Lib/httplib.py @@ -118,8 +118,9 @@ class HTTPResponse: [version, status] = string.split(line, None, 1) reason = "" except ValueError: - self.close() - raise BadStatusLine(line) + version = "HTTP/0.9" + status = "200" + reason = "" if version[:5] != 'HTTP/': self.close() raise BadStatusLine(line) @@ -129,11 +130,17 @@ class HTTPResponse: if version == 'HTTP/1.0': self.version = 10 - elif version[:7] == 'HTTP/1.': + elif version.startswith('HTTP/1.'): self.version = 11 # use HTTP/1.1 code for HTTP/1.x where x>=1 + elif version == 'HTTP/0.9': + self.version = 9 else: raise UnknownProtocol(version) + if self.version == 9: + self.msg = mimetools.Message(StringIO()) + return + self.msg = mimetools.Message(self.fp, 0) if self.debuglevel > 0: for hdr in self.msg.headers: