Commit b6fac245 authored by Senthil Kumaran's avatar Senthil Kumaran

Backporing the fix from Issue #12692

parent 3e86ba4e
......@@ -283,6 +283,7 @@ class MockHTTPClass:
self.req_headers = []
self.data = None
self.raise_on_endheaders = False
self.sock = None
self._tunnel_headers = {}
def __call__(self, host, timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
......
......@@ -1251,6 +1251,12 @@ class AbstractHTTPHandler(BaseHandler):
raise URLError(err)
else:
r = h.getresponse()
# If the server does not send us a 'Connection: close' header,
# HTTPConnection assumes the socket should be left open. Manually
# mark the socket to be closed when this response object goes away.
if h.sock:
h.sock.close()
h.sock = None
r.url = req.get_full_url()
# This line replaces the .msg attribute of the HTTPResponse
......
......@@ -29,6 +29,9 @@ Core and Builtins
Library
-------
- Issue #12692: Backport the fix for ResourceWarning in test_urllib2net. This
also helps in closing the socket when Connection Close header is not sent.
- Issue #19422: Explicitly disallow non-SOCK_STREAM sockets in the ssl
module, rather than silently let them emit clear text data.
......
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