Skip to content

Commit

Permalink
Pass arguments from instance dict to urlopen in HTTPAdapter.send
Browse files Browse the repository at this point in the history
  • Loading branch information
joren485 committed Sep 12, 2023
1 parent 8812812 commit 1c45439
Showing 1 changed file with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions src/requests/adapters.py
Expand Up @@ -154,6 +154,8 @@ def __init__(

self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block)

self.urllib3_response_options = {}

def __getstate__(self):
return {attr: getattr(self, attr, None) for attr in self.__attrs__}

Expand Down Expand Up @@ -455,7 +457,6 @@ def send(
raise InvalidURL(e, request=request)

self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
Expand All @@ -481,20 +482,25 @@ def send(
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)

urlopen_kwargs = self.urllib3_response_options.copy()
urlopen_kwargs.update(
{
"method": request.method,
"url": self.request_url(request, proxies),
"body": request.body,
"headers": request.headers,
"redirect": False,
"assert_same_host": False,
"preload_content": False,
"decode_content": False,
"retries": self.max_retries,
"timeout": timeout,
"chunked": chunked,
}
)

try:
resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
resp = conn.urlopen(**urlopen_kwargs)

except (ProtocolError, OSError) as err:
raise ConnectionError(err, request=request)
Expand Down

0 comments on commit 1c45439

Please sign in to comment.