]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
If the status line is invalid, assume it is a pre-1.0 response. The
authorJeremy Hylton <jeremy@alum.mit.edu>
Thu, 12 Oct 2000 19:58:36 +0000 (19:58 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Thu, 12 Oct 2000 19:58:36 +0000 (19:58 +0000)
msg/headers are empty and the entire response is treated as the body.

Lib/httplib.py

index 3856854127b209b616816fb01d523617422dfe5d..2688359308958afc6bb43c7a9a1dc1ae5bcb3949 100644 (file)
@@ -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: