mirror of https://github.com/python/cpython
(Merge 3.2) Issue #12133: fix a ResourceWarning in urllib.request
AbstractHTTPHandler.do_open() of urllib.request closes the HTTP connection if its getresponse() method fails with a socket error. Patch written by Ezio Melotti.
This commit is contained in:
commit
f073dc286c
|
@ -318,6 +318,9 @@ class MockHTTPClass:
|
|||
def getresponse(self):
|
||||
return MockHTTPResponse(MockFile(), {}, 200, "OK")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
||||
class MockHandler:
|
||||
# useful for testing handler machinery
|
||||
# see add_ordered_mock_handlers() docstring
|
||||
|
|
|
@ -1146,6 +1146,8 @@ class AbstractHTTPHandler(BaseHandler):
|
|||
r = h.getresponse() # an HTTPResponse instance
|
||||
except socket.error as err:
|
||||
raise URLError(err)
|
||||
finally:
|
||||
h.close()
|
||||
|
||||
r.url = req.get_full_url()
|
||||
# This line replaces the .msg attribute of the HTTPResponse
|
||||
|
|
|
@ -193,6 +193,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP
|
||||
connection if its getresponse() method fails with a socket error. Patch
|
||||
written by Ezio Melotti.
|
||||
|
||||
- Issue #12240: Allow multiple setup hooks in packaging's setup.cfg files.
|
||||
Original patch by Erik Bray.
|
||||
|
||||
|
|
Loading…
Reference in New Issue