Commit 97043c3c authored by Jeremy Hylton's avatar Jeremy Hylton

HTTPResponse should not inherit from io.IOBase.

I'm not sure why I thought it should originally, but it introduces an
__del__() method on the response which cause the close() to be called
too soon using the HTTP compat class.

Also, remove some stale comments.  The HTTPResponse calls makefile()
immediately, so there is no risk of it closing the socket.
parent c2de7c03
...@@ -308,7 +308,7 @@ class HTTPMessage(mimetools.Message): ...@@ -308,7 +308,7 @@ class HTTPMessage(mimetools.Message):
self.status = self.status + '; bad seek' self.status = self.status + '; bad seek'
break break
class HTTPResponse(io.IOBase): class HTTPResponse:
# strict: If true, raise BadStatusLine if the status line can't be # strict: If true, raise BadStatusLine if the status line can't be
# parsed as a valid HTTP/1.0 or 1.1 status line. By default it is # parsed as a valid HTTP/1.0 or 1.1 status line. By default it is
...@@ -1205,10 +1205,6 @@ class HTTP: ...@@ -1205,10 +1205,6 @@ class HTTP:
try: try:
response = self._conn.getresponse() response = self._conn.getresponse()
except BadStatusLine as e: except BadStatusLine as e:
### hmm. if getresponse() ever closes the socket on a bad request,
### then we are going to have problems with self.sock
### should we keep this behavior? do people use it?
# keep the socket open (as a file), and return it # keep the socket open (as a file), and return it
self.file = self._conn.sock.makefile('rb', 0) self.file = self._conn.sock.makefile('rb', 0)
...@@ -1399,7 +1395,7 @@ def test(): ...@@ -1399,7 +1395,7 @@ def test():
status, reason, headers = h.getreply() status, reason, headers = h.getreply()
print('status =', status) print('status =', status)
print('reason =', reason) print('reason =', reason)
print("read", len(h.getfile().read())) print('read', len(h.getfile().read()))
print() print()
if headers: if headers:
for header in headers.headers: print(header.strip()) for header in headers.headers: print(header.strip())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment