@@ -193,12 +193,11 @@ def prepare_auth(
193193
194194 def prepare_headers (self , headers : HeaderTypes = None , user_agent : Optional [str ] = None ) -> Headers :
195195 """Prepare Headers. Gets base headers from rotator if available."""
196+ if headers is None :
197+ return self .headers .copy ()
196198 if isinstance (headers , HeaderRotator ):
197- headers_copy = headers .next (user_agent = user_agent )
198- else :
199- headers_copy = self .headers .copy ()
200-
201- return headers_copy
199+ return headers .next (user_agent = user_agent )
200+ return Headers (headers )
202201
203202 def prepare_cookies (self , cookies : CookieTypes = None ) -> Cookies :
204203 """Prepare Cookies"""
@@ -371,7 +370,8 @@ def _send(
371370 self , request : Request , * , history : list = None , start : float = None
372371 ) -> Response :
373372 start = start or time .perf_counter ()
374- config = self .prepare_config (request , tls_identifier = self .prepare_tls_identifier (self .client_identifier ))
373+ tls_identifier = self .prepare_tls_identifier (self .client_identifier )
374+ config = self .prepare_config (request , tls_identifier = tls_identifier )
375375 response = Response .from_tls_response (
376376 self .session .request (config .to_dict ()),
377377 is_byte_response = config .isByteResponse ,
@@ -757,12 +757,11 @@ class AsyncClient(BaseClient):
757757
758758 async def aprepare_headers (self , headers : HeaderTypes = None , user_agent : Optional [str ] = None ) -> Headers :
759759 """Prepare Headers. Gets base headers from rotator if available."""
760+ if headers is None :
761+ return self .headers .copy ()
760762 if isinstance (headers , HeaderRotator ):
761- headers_copy = await headers .anext (user_agent = user_agent )
762- else :
763- headers_copy = self .headers .copy ()
764-
765- return headers_copy
763+ return await headers .anext (user_agent = user_agent )
764+ return Headers (headers )
766765
767766 async def aprepare_proxy (self , proxy : ProxyTypes | None ) -> Optional [Proxy ]:
768767 if proxy is None :
@@ -1084,7 +1083,8 @@ async def _send(
10841083 self , request : Request , * , history : list = None , start : float = None
10851084 ) -> Response :
10861085 start = start or time .perf_counter ()
1087- config = self .prepare_config (request , tls_identifier = await self .aprepare_tls_identifier (self .client_identifier ))
1086+ tls_identifier = await self .aprepare_tls_identifier (self .client_identifier )
1087+ config = self .prepare_config (request , tls_identifier = tls_identifier )
10881088 response = Response .from_tls_response (
10891089 await self .session .arequest (config .to_dict ()),
10901090 is_byte_response = config .isByteResponse ,
0 commit comments