
    3Cf;                        d dl mZ d dlmZmZmZmZmZmZ d dl	Z	d dl
mZ d dlmZ d dlmZ ddlmZ erdd	lmZ  ed
d      Z G d dee         ZdZ G d d      Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d             Z e	j0                  ddd       G d d              Z e	j0                  ddd       G d! d"             Z  e	j0                  ddd       G d# d$             Z! e	j0                  ddd       G d% d&             Z" e	j0                  ddd       G d' d(             Z# e	j0                  ddd       G d) d*             Z$ e	j0                  ddd       G d+ d,             Z% e	j0                  ddd       G d- d.             Z& e	j0                  ddd       G d/ d0             Z' e	j0                  ddd       G d1 d2             Z( G d3 d4      Z)y)5    )SimpleNamespace)TYPE_CHECKING	AwaitableOptionalProtocolTypeTypeVarN)Signal)CIMultiDict)URL   )ClientResponse)ClientSession_ParamT_contraT)contravariantc            	       *    e Zd Zdedededed   fdZy)_SignalCallback_SignalCallback__client_session!_SignalCallback__trace_config_ctx_SignalCallback__paramsreturnNc                      y N )selfr   r   r   s       O/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/aiohttp/tracing.py__call__z_SignalCallback.__call__   s         )__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r      s1    	+	 !0	 %		
 t_	r   r   )TraceConfigTraceRequestStartParamsTraceRequestEndParamsTraceRequestExceptionParams TraceConnectionQueuedStartParamsTraceConnectionQueuedEndParams TraceConnectionCreateStartParamsTraceConnectionCreateEndParamsTraceConnectionReuseconnParamsTraceDnsResolveHostStartParamsTraceDnsResolveHostEndParamsTraceDnsCacheHitParamsTraceDnsCacheMissParamsTraceRequestRedirectParamsTraceRequestChunkSentParams TraceResponseChunkReceivedParamsTraceRequestHeadersSentParamsc                      e Zd ZdZefdee   ddfdZ	 ddee   defdZddZ	e
dd	       Ze
	 	 dd
       Ze
	 	 dd       Ze
dd       Ze
	 	 dd       Ze
	 	 d d       Ze
	 	 d!d       Ze
	 	 d"d       Ze
	 	 d#d       Ze
	 	 d$d       Ze
	 	 d%d       Ze
	 	 d&d       Ze
	 	 d'd       Ze
d(d       Ze
d)d       Ze
	 	 d*d       Zy)+r"   zFFirst-class used to trace requests launched via ClientSession objects.trace_config_ctx_factoryr   Nc                    t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _	        t        |       | _
        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        || _        y r   )r
   _on_request_start_on_request_chunk_sent_on_response_chunk_received_on_request_end_on_request_exception_on_request_redirect_on_connection_queued_start_on_connection_queued_end_on_connection_create_start_on_connection_create_end_on_connection_reuseconn_on_dns_resolvehost_start_on_dns_resolvehost_end_on_dns_cache_hit_on_dns_cache_miss_on_request_headers_sent_trace_config_ctx_factory)r   r4   s     r   __init__zTraceConfig.__init__2   s!   
 4L 	
 4L 	#
 4L 	( PVP

 4L 	"
 4L 	!
 4L 	(
 4L 	&
 4L 	(
 4L 	&
 4L 	%
 4L 	&
 4L 	$
 4L 	
 4L 	
 4L 	% *B&r   trace_request_ctxc                 &    | j                  |      S )z&Return a new trace_config_ctx instance)rH   )rF   )r   rH   s     r   trace_config_ctxzTraceConfig.trace_config_ctxh   s     --@Q-RRr   c                 D   | j                   j                          | j                  j                          | j                  j                          | j                  j                          | j
                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                  j                          | j                   j                          y r   )r6   freezer7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   r   s    r   rL   zTraceConfig.freezen   s"   %%'##**,((//1##%""))+!!((*((//1&&--/((//1&&--/%%,,.&&--/$$++-%%'&&(%%,,.r   c                     | j                   S r   )r6   rM   s    r   on_request_startzTraceConfig.on_request_start       %%%r   c                     | j                   S r   )r7   rM   s    r   on_request_chunk_sentz!TraceConfig.on_request_chunk_sent   s     ***r   c                     | j                   S r   )r8   rM   s    r   on_response_chunk_receivedz&TraceConfig.on_response_chunk_received        ///r   c                     | j                   S r   )r9   rM   s    r   on_request_endzTraceConfig.on_request_end   s    ###r   c                     | j                   S r   )r:   rM   s    r   on_request_exceptionz TraceConfig.on_request_exception   s     )))r   c                     | j                   S r   )r;   rM   s    r   on_request_redirectzTraceConfig.on_request_redirect   s     (((r   c                     | j                   S r   )r<   rM   s    r   on_connection_queued_startz&TraceConfig.on_connection_queued_start   rU   r   c                     | j                   S r   )r=   rM   s    r   on_connection_queued_endz$TraceConfig.on_connection_queued_end        ---r   c                     | j                   S r   )r>   rM   s    r   on_connection_create_startz&TraceConfig.on_connection_create_start   rU   r   c                     | j                   S r   )r?   rM   s    r   on_connection_create_endz$TraceConfig.on_connection_create_end   r`   r   c                     | j                   S r   )r@   rM   s    r   on_connection_reuseconnz#TraceConfig.on_connection_reuseconn        ,,,r   c                     | j                   S r   )rA   rM   s    r   on_dns_resolvehost_startz$TraceConfig.on_dns_resolvehost_start   r`   r   c                     | j                   S r   )rB   rM   s    r   on_dns_resolvehost_endz"TraceConfig.on_dns_resolvehost_end   s     +++r   c                     | j                   S r   )rC   rM   s    r   on_dns_cache_hitzTraceConfig.on_dns_cache_hit   rP   r   c                     | j                   S r   )rD   rM   s    r   on_dns_cache_misszTraceConfig.on_dns_cache_miss   s    &&&r   c                     | j                   S r   )rE   rM   s    r   on_request_headers_sentz#TraceConfig.on_request_headers_sent   rg   r   r   r   N)r   z0Signal[_SignalCallback[TraceRequestStartParams]])r   z4Signal[_SignalCallback[TraceRequestChunkSentParams]])r   z9Signal[_SignalCallback[TraceResponseChunkReceivedParams]])r   z.Signal[_SignalCallback[TraceRequestEndParams]])r   z4Signal[_SignalCallback[TraceRequestExceptionParams]])r   z3Signal[_SignalCallback[TraceRequestRedirectParams]])r   z9Signal[_SignalCallback[TraceConnectionQueuedStartParams]])r   z7Signal[_SignalCallback[TraceConnectionQueuedEndParams]])r   z9Signal[_SignalCallback[TraceConnectionCreateStartParams]])r   z7Signal[_SignalCallback[TraceConnectionCreateEndParams]])r   z7Signal[_SignalCallback[TraceConnectionReuseconnParams]])r   z7Signal[_SignalCallback[TraceDnsResolveHostStartParams]])r   z5Signal[_SignalCallback[TraceDnsResolveHostEndParams]])r   z/Signal[_SignalCallback[TraceDnsCacheHitParams]])r   z0Signal[_SignalCallback[TraceDnsCacheMissParams]])r   z6Signal[_SignalCallback[TraceRequestHeadersSentParams]])r   r    r!   __doc__r   r   rG   r   rJ   rL   propertyrO   rR   rT   rW   rY   r[   r]   r_   rb   rd   rf   ri   rk   rm   ro   rq   r   r   r   r"   r"   /   s   P AP4B(,_(=4B	4Bn >BS!)/!:S	S/$ & & +	?+ +
 0	D0 0
 $ $ *	?* *
 )	>) )
 0	D0 0
 .	B. .
 0	D0 0
 .	B. .
 -	B- -
 .	B. .
 ,	@, ,
 & & ' ' -	A- -r   r"   )auto_attribsfrozenslotsc                   0    e Zd ZU dZeed<   eed<   ded<   y)r#   z0Parameters sent by the `on_request_start` signalmethodurlCIMultiDict[str]headersNr   r    r!   rs   str__annotations__r   r   r   r   r#   r#      s    :K	Hr   r#   c                   0    e Zd ZU dZeed<   eed<   eed<   y)r0   z5Parameters sent by the `on_request_chunk_sent` signalry   rz   chunkNr   r    r!   rs   r~   r   r   bytesr   r   r   r0   r0      s    ?K	HLr   r0   c                   0    e Zd ZU dZeed<   eed<   eed<   y)r1   z:Parameters sent by the `on_response_chunk_received` signalry   rz   r   Nr   r   r   r   r1   r1      s    DK	HLr   r1   c                   :    e Zd ZU dZeed<   eed<   ded<   eed<   y)r$   z.Parameters sent by the `on_request_end` signalry   rz   r{   r|   responseNr   r    r!   rs   r~   r   r   r   r   r   r   r$   r$      s    8K	Hr   r$   c                   :    e Zd ZU dZeed<   eed<   ded<   eed<   y)r%   z4Parameters sent by the `on_request_exception` signalry   rz   r{   r|   	exceptionN)r   r    r!   rs   r~   r   r   BaseExceptionr   r   r   r%   r%      s    >K	Hr   r%   c                   :    e Zd ZU dZeed<   eed<   ded<   eed<   y)r/   z3Parameters sent by the `on_request_redirect` signalry   rz   r{   r|   r   Nr   r   r   r   r/   r/     s    =K	Hr   r/   c                       e Zd ZdZy)r&   z:Parameters sent by the `on_connection_queued_start` signalNr   r    r!   rs   r   r   r   r&   r&         Dr   r&   c                       e Zd ZdZy)r'   z8Parameters sent by the `on_connection_queued_end` signalNr   r   r   r   r'   r'         Br   r'   c                       e Zd ZdZy)r(   z:Parameters sent by the `on_connection_create_start` signalNr   r   r   r   r(   r(     r   r   r(   c                       e Zd ZdZy)r)   z8Parameters sent by the `on_connection_create_end` signalNr   r   r   r   r)   r)   !  r   r   r)   c                       e Zd ZdZy)r*   z7Parameters sent by the `on_connection_reuseconn` signalNr   r   r   r   r*   r*   &  s    Ar   r*   c                       e Zd ZU dZeed<   y)r+   z8Parameters sent by the `on_dns_resolvehost_start` signalhostNr   r    r!   rs   r~   r   r   r   r   r+   r+   +  s
    B
Ir   r+   c                       e Zd ZU dZeed<   y)r,   z6Parameters sent by the `on_dns_resolvehost_end` signalr   Nr   r   r   r   r,   r,   2  s
    @
Ir   r,   c                       e Zd ZU dZeed<   y)r-   z0Parameters sent by the `on_dns_cache_hit` signalr   Nr   r   r   r   r-   r-   9  s
    :
Ir   r-   c                       e Zd ZU dZeed<   y)r.   z1Parameters sent by the `on_dns_cache_miss` signalr   Nr   r   r   r   r.   r.   @  s
    ;
Ir   r.   c                   0    e Zd ZU dZeed<   eed<   ded<   y)r2   z7Parameters sent by the `on_request_headers_sent` signalry   rz   r{   r|   Nr}   r   r   r   r2   r2   G  s    AK	Hr   r2   c            
       D   e Zd ZdZdddededdfdZd	ed
eddddfdZ	d	ed
ede
ddfdZd	ed
ede
ddfdZd	ed
edddeddf
dZd	ed
edddeddf
dZd	ed
edddeddf
dZd!dZd!dZd!dZd!dZd!dZdeddfdZdeddfdZdeddfdZdeddfdZd	ed
eddddfd Zy)"TracezInternal dependency holder class.

    Used to keep together the main dependencies used
    at the moment of send a signal.
    sessionr   trace_configrJ   r   Nc                 .    || _         || _        || _        y r   )_trace_config_trace_config_ctx_session)r   r   r   rJ   s       r   rG   zTrace.__init__W  s     *!1r   ry   rz   r|   r{   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rO   sendr   r   r#   r   ry   rz   r|   s       r   send_request_startzTrace.send_request_starta  sM      ''88==MM""#FC9
 
 	
 
   A
AAAr   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rR   r   r   r   r0   r   ry   rz   r   s       r   send_request_chunk_sentzTrace.send_request_chunk_sentj  sM      ''==BBMM""'U;
 
 	
 
r   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rT   r   r   r   r1   r   s       r   send_response_chunk_receivedz"Trace.send_response_chunk_receiveds  sM      ''BBGGMM"",VS%@
 
 	
 
r   r   c           
         K   | j                   j                  j                  | j                  | j                  t        ||||             d {   S 7 wr   )r   rW   r   r   r   r$   r   ry   rz   r|   r   s        r   send_request_endzTrace.send_request_end|  sO      ''66;;MM""!&#wA
 
 	
 
   AAAAr   c           
         K   | j                   j                  j                  | j                  | j                  t        ||||             d {   S 7 wr   )r   rY   r   r   r   r%   )r   ry   rz   r|   r   s        r   send_request_exceptionzTrace.send_request_exception  sO      ''<<AAMM""'WiH
 
 	
 
r   c           
         K   | j                   j                  j                  | j                  | j                  t        ||||             d {   S 7 wr   )r   r;   r   r   r   r/   r   s        r   send_request_redirectzTrace.send_request_redirect  sO      ''<<AAMM""&vsGXF
 
 	
 
r   c                    K   | j                   j                  j                  | j                  | j                  t                      d {   S 7 wr   )r   r]   r   r   r   r&   rM   s    r   send_connection_queued_startz"Trace.send_connection_queued_start  D     ''BBGGMM4113S3U
 
 	
 
   AA	A
Ac                    K   | j                   j                  j                  | j                  | j                  t                      d {   S 7 wr   )r   r_   r   r   r   r'   rM   s    r   send_connection_queued_endz Trace.send_connection_queued_end  D     ''@@EEMM4113Q3S
 
 	
 
r   c                    K   | j                   j                  j                  | j                  | j                  t                      d {   S 7 wr   )r   rb   r   r   r   r(   rM   s    r   send_connection_create_startz"Trace.send_connection_create_start  r   r   c                    K   | j                   j                  j                  | j                  | j                  t                      d {   S 7 wr   )r   rd   r   r   r   r)   rM   s    r   send_connection_create_endz Trace.send_connection_create_end  r   r   c                    K   | j                   j                  j                  | j                  | j                  t                      d {   S 7 wr   )r   rf   r   r   r   r*   rM   s    r   send_connection_reuseconnzTrace.send_connection_reuseconn  sD     ''??DDMM4113Q3S
 
 	
 
r   r   c                    K   | j                   j                  j                  | j                  | j                  t        |             d {   S 7 wr   )r   ri   r   r   r   r+   r   r   s     r   send_dns_resolvehost_startz Trace.send_dns_resolvehost_start  sG     ''@@EEMM4113QRV3W
 
 	
 
   AA
AAc                    K   | j                   j                  j                  | j                  | j                  t        |             d {   S 7 wr   )r   rk   r   r   r   r,   r   s     r   send_dns_resolvehost_endzTrace.send_dns_resolvehost_end  sG     ''>>CCMM4113OPT3U
 
 	
 
r   c                    K   | j                   j                  j                  | j                  | j                  t        |             d {   S 7 wr   )r   rm   r   r   r   r-   r   s     r   send_dns_cache_hitzTrace.send_dns_cache_hit  sF     ''88==MM4113I$3O
 
 	
 
r   c                    K   | j                   j                  j                  | j                  | j                  t        |             d {   S 7 wr   )r   ro   r   r   r   r.   r   s     r   send_dns_cache_misszTrace.send_dns_cache_miss  sF     ''99>>MM4113J43P
 
 	
 
r   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rE   r   r   r   r2   r   s       r   send_request_headerszTrace.send_request_headers  sM      ''@@EEMM"")&#w?
 
 	
 
r   rr   )r   r    r!   rs   r"   r   rG   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   P  s       "  *	 
 
 

 #
.@
	


 #
,1
	


 #
,1
	


 
 $	

 !
 



 
 $	

 !
 



 
 $	

 !
 












S 
T 


3 
4 


S 
T 


c 
d 



 #
.@
	
r   r   )*typesr   typingr   r   r   r   r   r	   attr	aiosignalr
   	multidictr   yarlr   client_reqrepr   clientr   r   r   __all__r"   sr#   r0   r1   r$   r%   r/   r&   r'   r(   r)   r*   r+   r,   r-   r.   r2   r   r   r   r   <module>r      s   ! N N   !  )%-TBN(>2 *g- g-T T$d3    4  T$d3  4 T$d3  4 T$d3  4 T$d3  4 T$d3  4 T$d3E E 4E T$d3C C 4C T$d3E E 4E T$d3C C 4C T$d3B B 4B T$d3  4 T$d3  4 T$d3  4 T$d3  4 T$d3    4 G
 G
r   