From e8064f977eb2d850ace5ff183d1151c4f820ef91 Mon Sep 17 00:00:00 2001 From: Sam Bull Date: Tue, 25 Apr 2023 18:15:06 +0100 Subject: [PATCH] Remove no longer existing max_headers --- CHANGES/2304.feature | 2 +- aiohttp/client.py | 10 ---------- aiohttp/client_proto.py | 2 -- tests/test_client_functional.py | 19 ------------------- 4 files changed, 1 insertion(+), 32 deletions(-) diff --git a/CHANGES/2304.feature b/CHANGES/2304.feature index a8c844896fa..c89b812cba2 100644 --- a/CHANGES/2304.feature +++ b/CHANGES/2304.feature @@ -1 +1 @@ -Support setting response header parameters max_line_size, max_headers and max_field_size. +Support setting response header parameters max_line_size and max_field_size. diff --git a/aiohttp/client.py b/aiohttp/client.py index bb6ef76a610..0edfb81df10 100644 --- a/aiohttp/client.py +++ b/aiohttp/client.py @@ -187,7 +187,6 @@ class ClientSession: "_trace_configs", "_read_bufsize", "_max_line_size", - "_max_headers", "_max_field_size", ) @@ -217,7 +216,6 @@ def __init__( trace_configs: Optional[List[TraceConfig]] = None, read_bufsize: int = 2**16, max_line_size: int = 8190, - max_headers: int = 32768, max_field_size: int = 8190, ) -> None: if base_url is None or isinstance(base_url, URL): @@ -268,7 +266,6 @@ def __init__( self._requote_redirect_url = requote_redirect_url self._read_bufsize = read_bufsize self._max_line_size = max_line_size - self._max_headers = max_headers self._max_field_size = max_field_size # Convert to list of tuples @@ -352,7 +349,6 @@ async def _request( read_bufsize: Optional[int] = None, auto_decompress: Optional[bool] = None, max_line_size: Optional[int] = None, - max_headers: Optional[int] = None, max_field_size: Optional[int] = None, ) -> ClientResponse: # NOTE: timeout clamps existing connect and read timeouts. We cannot @@ -419,9 +415,6 @@ async def _request( if max_line_size is None: max_line_size = self._max_line_size - if max_headers is None: - max_headers = self._max_headers - if max_field_size is None: max_field_size = self._max_field_size @@ -532,7 +525,6 @@ async def _request( read_bufsize=read_bufsize, timeout_ceil_threshold=self._connector._timeout_ceil_threshold, max_line_size=max_line_size, - max_headers=max_headers, max_field_size=max_field_size, ) @@ -1211,7 +1203,6 @@ def request( connector: Optional[BaseConnector] = None, read_bufsize: Optional[int] = None, max_line_size: int = 8190, - max_headers: int = 32768, max_field_size: int = 8190, ) -> _SessionRequestContextManager: """Constructs and sends a request. @@ -1284,7 +1275,6 @@ def request( proxy_auth=proxy_auth, read_bufsize=read_bufsize, max_line_size=max_line_size, - max_headers=max_headers, max_field_size=max_field_size, ), session, diff --git a/aiohttp/client_proto.py b/aiohttp/client_proto.py index a32104b9cab..bfa9ea84a97 100644 --- a/aiohttp/client_proto.py +++ b/aiohttp/client_proto.py @@ -154,7 +154,6 @@ def set_response_params( read_bufsize: int = 2**16, timeout_ceil_threshold: float = 5, max_line_size: int = 8190, - max_headers: int = 32768, max_field_size: int = 8190, ) -> None: self._skip_payload = skip_payload @@ -173,7 +172,6 @@ def set_response_params( read_until_eof=read_until_eof, auto_decompress=auto_decompress, max_line_size=max_line_size, - max_headers=max_headers, max_field_size=max_field_size, ) diff --git a/tests/test_client_functional.py b/tests/test_client_functional.py index bde05ea2d50..84ee9cb8c3a 100644 --- a/tests/test_client_functional.py +++ b/tests/test_client_functional.py @@ -3167,22 +3167,3 @@ async def handler(request): async with await client.get("/", max_line_size=8191) as resp: assert resp.reason == "x" * 8191 - - -async def test_max_headers_session_default(aiohttp_client: Any) -> None: - async def handler(request): - # generate 32764 headers: - # 32768 (max_headers default) minus 4 headers which are set implicitly - # 'Content-Length', 'Content-Type', 'Date' and 'Server' - headers = MultiDict() - for x in range(32764): - headers.add(f"x-header-{x}", str(x)) - return web.Response(headers=headers) - - app = web.Application() - app.add_routes([web.get("/", handler)]) - - client = await aiohttp_client(app) - - async with await client.get("/") as resp: - assert len(resp.headers) == 32768