Skip to content

Commit 41fc72b

Browse files
Allow caching of middleware construction
1 parent 918c76d commit 41fc72b

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

aiohttp/client.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -622,9 +622,23 @@ async def _request(
622622
get_env_proxy_for_url, url
623623
)
624624

625+
response_params = {
626+
"timer": timer,
627+
"skip_payload": method in EMPTY_BODY_METHODS,
628+
"read_until_eof": read_until_eof,
629+
"auto_decompress": auto_decompress,
630+
"read_timeout": real_timeout.sock_read,
631+
"read_bufsize": read_bufsize,
632+
"timeout_ceil_threshold": self._connector._timeout_ceil_threshold,
633+
"max_line_size": max_line_size,
634+
"max_field_size": max_field_size,
635+
}
636+
625637
req = self._request_class(
626638
method,
627639
url,
640+
response_params=response_params,
641+
timeout=real_timeout,
628642
params=params,
629643
headers=headers,
630644
skip_auto_headers=skip_headers,
@@ -656,25 +670,15 @@ async def _connect_and_send_request(
656670
assert self._connector is not None
657671
try:
658672
conn = await self._connector.connect(
659-
req, traces=traces, timeout=real_timeout
673+
req, traces=traces, timeout=req._timeout
660674
)
661675
except asyncio.TimeoutError as exc:
662676
raise ConnectionTimeoutError(
663677
f"Connection timeout to host {req.url}"
664678
) from exc
665679

666680
assert conn.protocol is not None
667-
conn.protocol.set_response_params(
668-
timer=timer,
669-
skip_payload=req.method in EMPTY_BODY_METHODS,
670-
read_until_eof=read_until_eof,
671-
auto_decompress=auto_decompress,
672-
read_timeout=real_timeout.sock_read,
673-
read_bufsize=read_bufsize,
674-
timeout_ceil_threshold=self._connector._timeout_ceil_threshold,
675-
max_line_size=max_line_size,
676-
max_field_size=max_field_size,
677-
)
681+
conn.protocol.set_response_params(**req._response_params)
678682
try:
679683
resp = await req.send(conn)
680684
try:

0 commit comments

Comments
 (0)