mirror of https://github.com/python/cpython
gh-105626: Change the default return value of `HTTPConnection.get_proxy_response_headers` (#105628)
This commit is contained in:
parent
025995fead
commit
490295d651
|
@ -390,7 +390,7 @@ HTTPConnection Objects
|
|||
Returns a dictionary with the headers of the response received from
|
||||
the proxy server to the CONNECT request.
|
||||
|
||||
If the CONNECT request was not sent, the method returns an empty dictionary.
|
||||
If the CONNECT request was not sent, the method returns ``None``.
|
||||
|
||||
.. versionadded:: 3.12
|
||||
|
||||
|
|
|
@ -970,13 +970,12 @@ class HTTPConnection:
|
|||
received from the proxy server to the CONNECT request
|
||||
sent to set the tunnel.
|
||||
|
||||
If the CONNECT request was not sent, the method returns
|
||||
an empty dictionary.
|
||||
If the CONNECT request was not sent, the method returns None.
|
||||
"""
|
||||
return (
|
||||
_parse_header_lines(self._raw_proxy_headers)
|
||||
if self._raw_proxy_headers is not None
|
||||
else {}
|
||||
else None
|
||||
)
|
||||
|
||||
def connect(self):
|
||||
|
|
|
@ -2404,6 +2404,19 @@ class TunnelTests(TestCase):
|
|||
headers = self.conn.get_proxy_response_headers()
|
||||
self.assertIn(expected_header, headers.items())
|
||||
|
||||
def test_no_proxy_response_headers(self):
|
||||
expected_header = ('X-Dummy', '1')
|
||||
response_text = (
|
||||
'HTTP/1.0 200 OK\r\n'
|
||||
'{0}\r\n\r\n'.format(':'.join(expected_header))
|
||||
)
|
||||
|
||||
self.conn._create_connection = self._create_connection(response_text)
|
||||
|
||||
self.conn.request('PUT', '/', '')
|
||||
headers = self.conn.get_proxy_response_headers()
|
||||
self.assertIsNone(headers)
|
||||
|
||||
def test_tunnel_leak(self):
|
||||
sock = None
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Change the default return value of
|
||||
:meth:`http.client.HTTPConnection.get_proxy_response_headers` to be ``None``
|
||||
and not ``{}``.
|
Loading…
Reference in New Issue