1010import traceback
1111import warnings
1212from contextlib import suppress
13- from types import SimpleNamespace , TracebackType
13+ from types import TracebackType
1414from typing import (
1515 TYPE_CHECKING ,
1616 Any ,
156156
157157
158158class _RequestOptions (TypedDict , total = False ):
159- params : Union [Mapping [str , str ] , None ]
159+ params : Union [Mapping [str , Union [ str , int ]], str , None ]
160160 data : Any
161161 json : Any
162162 cookies : Union [LooseCookies , None ]
@@ -176,7 +176,7 @@ class _RequestOptions(TypedDict, total=False):
176176 ssl : Union [SSLContext , bool , Fingerprint ]
177177 server_hostname : Union [str , None ]
178178 proxy_headers : Union [LooseHeaders , None ]
179- trace_request_ctx : Union [SimpleNamespace , None ]
179+ trace_request_ctx : Union [Mapping [ str , str ] , None ]
180180 read_bufsize : Union [int , None ]
181181 auto_decompress : Union [bool , None ]
182182 max_line_size : Union [int , None ]
@@ -374,11 +374,22 @@ def __del__(self, _warnings: Any = warnings) -> None:
374374 context ["source_traceback" ] = self ._source_traceback
375375 self ._loop .call_exception_handler (context )
376376
377- def request (
378- self , method : str , url : StrOrURL , ** kwargs : Any
379- ) -> "_RequestContextManager" :
380- """Perform HTTP request."""
381- return _RequestContextManager (self ._request (method , url , ** kwargs ))
377+ if sys .version_info >= (3 , 11 ) and TYPE_CHECKING :
378+
379+ def request (
380+ self ,
381+ method : str ,
382+ url : StrOrURL ,
383+ ** kwargs : Unpack [_RequestOptions ],
384+ ) -> "_RequestContextManager" : ...
385+
386+ else :
387+
388+ def request (
389+ self , method : str , url : StrOrURL , ** kwargs : Any
390+ ) -> "_RequestContextManager" :
391+ """Perform HTTP request."""
392+ return _RequestContextManager (self ._request (method , url , ** kwargs ))
382393
383394 def _build_url (self , str_or_url : StrOrURL ) -> URL :
384395 url = URL (str_or_url )
@@ -415,7 +426,7 @@ async def _request(
415426 ssl : Union [SSLContext , bool , Fingerprint ] = True ,
416427 server_hostname : Optional [str ] = None ,
417428 proxy_headers : Optional [LooseHeaders ] = None ,
418- trace_request_ctx : Optional [SimpleNamespace ] = None ,
429+ trace_request_ctx : Optional [Mapping [ str , str ] ] = None ,
419430 read_bufsize : Optional [int ] = None ,
420431 auto_decompress : Optional [bool ] = None ,
421432 max_line_size : Optional [int ] = None ,
0 commit comments