
    de0;                        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	j        ddd           G d d                      Z e	j        ddd           G d d                      Z e	j        ddd           G d d                      Z e	j        ddd           G d d                      Z e	j        ddd           G d d                      Z e	j        ddd           G d d                      Z e	j        ddd           G d d                       Z e	j        ddd           G d! d"                      Z  e	j        ddd           G d# d$                      Z! e	j        ddd           G d% d&                      Z" e	j        ddd           G d' d(                      Z# e	j        ddd           G d) d*                      Z$ e	j        ddd           G d+ d,                      Z% e	j        ddd           G d- d.                      Z& e	j        ddd           G d/ d0                      Z' e	j        ddd           G d1 d2                      Z( G d3 d4          Z)dS )5    )SimpleNamespace)TYPE_CHECKING	AwaitableOptionalProtocolTypeTypeVarN)Signal)CIMultiDict)URL   )ClientResponse)ClientSession_ParamT_contraT)contravariantc            	       2    e Zd Zdedededed         fdZdS )_SignalCallback_SignalCallback__client_session!_SignalCallback__trace_config_ctx_SignalCallback__paramsreturnNc                     d S N )selfr   r   r   s       /lib/python3.11/site-packages/aiohttp/tracing.py__call__z_SignalCallback.__call__   s	     C    )__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r      sR        	+	 !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
	 	 d0d            Ze
	 	 d1d            Ze
	 	 d2d            Ze
	 	 d3d            Ze
	 	 d4d            Ze
	 	 d5d            Ze
	 	 d6d             Ze
	 	 d7d"            Ze
d8d$            Ze
d9d&            Ze
	 	 d:d(            ZdS );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          |           | _        || _        d S 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   sK   
 4LL 	
 4LL 	#
 4LL 	( PVP
 P

 4LL 	"
 4LL 	!
 4LL 	(
 4LL 	&
 4LL 	(
 4LL 	&
 4LL 	%
 4LL 	&
 4LL 	$
 4LL 	
 4LL 	
 4LL 	% *B&&&r   trace_request_ctxc                 .    |                      |          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RRr   c                 &   | j                                          | j                                         | j                                         | j                                         | j                                         | j                                         | j                                         | j                                         | j	                                         | j
                                         | j                                         | j                                         | j                                         | j                                         | j                                         | j                                         d S r   )r6   freezer7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   r   s    r   rL   zTraceConfig.freezen   sX   %%'''#**,,,(//111##%%%"))+++!((***(//111&--///(//111&--///%,,...&--///$++---%%'''&&(((%,,.....r   0Signal[_SignalCallback[TraceRequestStartParams]]c                     | j         S r   )r6   rM   s    r   on_request_startzTraceConfig.on_request_start       %%r   4Signal[_SignalCallback[TraceRequestChunkSentParams]]c                     | j         S r   )r7   rM   s    r   on_request_chunk_sentz!TraceConfig.on_request_chunk_sent   s     **r   9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]c                     | j         S r   )r8   rM   s    r   on_response_chunk_receivedz&TraceConfig.on_response_chunk_received        //r   .Signal[_SignalCallback[TraceRequestEndParams]]c                     | j         S r   )r9   rM   s    r   on_request_endzTraceConfig.on_request_end   s    ##r   4Signal[_SignalCallback[TraceRequestExceptionParams]]c                     | j         S r   )r:   rM   s    r   on_request_exceptionz TraceConfig.on_request_exception   s     ))r   3Signal[_SignalCallback[TraceRequestRedirectParams]]c                     | j         S r   )r;   rM   s    r   on_request_redirectzTraceConfig.on_request_redirect   s     ((r   9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]c                     | j         S r   )r<   rM   s    r   on_connection_queued_startz&TraceConfig.on_connection_queued_start   rX   r   7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]c                     | j         S r   )r=   rM   s    r   on_connection_queued_endz$TraceConfig.on_connection_queued_end        --r   9Signal[_SignalCallback[TraceConnectionCreateStartParams]]c                     | j         S r   )r>   rM   s    r   on_connection_create_startz&TraceConfig.on_connection_create_start   rX   r   7Signal[_SignalCallback[TraceConnectionCreateEndParams]]c                     | j         S r   )r?   rM   s    r   on_connection_create_endz$TraceConfig.on_connection_create_end   rh   r   7Signal[_SignalCallback[TraceConnectionReuseconnParams]]c                     | j         S r   )r@   rM   s    r   on_connection_reuseconnz#TraceConfig.on_connection_reuseconn        ,,r   7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]c                     | j         S r   )rA   rM   s    r   on_dns_resolvehost_startz$TraceConfig.on_dns_resolvehost_start   rh   r   5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]c                     | j         S r   )rB   rM   s    r   on_dns_resolvehost_endz"TraceConfig.on_dns_resolvehost_end   s     ++r   /Signal[_SignalCallback[TraceDnsCacheHitParams]]c                     | j         S r   )rC   rM   s    r   on_dns_cache_hitzTraceConfig.on_dns_cache_hit   rQ   r   0Signal[_SignalCallback[TraceDnsCacheMissParams]]c                     | j         S r   )rD   rM   s    r   on_dns_cache_misszTraceConfig.on_dns_cache_miss   s    &&r   6Signal[_SignalCallback[TraceRequestHeadersSentParams]]c                     | j         S r   )rE   rM   s    r   on_request_headers_sentz#TraceConfig.on_request_headers_sent   rr   r   r   r   N)r   rN   )r   rR   )r   rU   )r   rY   )r   r\   )r   r_   )r   rb   )r   re   )r   ri   )r   rl   )r   ro   )r   rs   )r   rv   )r   ry   )r   r|   )r   r   )r   r    r!   __doc__r   r   rG   r   rJ   rL   propertyrP   rT   rW   r[   r^   ra   rd   rg   rk   rn   rq   ru   rx   r{   r~   r   r   r   r   r"   r"   /   s       PP AP4B 4B(,_(=4B	4B 4B 4B 4Bn >BS S!)/!:S	S S S S/ / / /$ & & & X& +	?+ + + X+
 0	D0 0 0 X0
 $ $ $ X$ *	?* * * X*
 )	>) ) ) X)
 0	D0 0 0 X0
 .	B. . . X.
 0	D0 0 0 X0
 .	B. . . X.
 -	B- - - X-
 .	B. . . X.
 ,	@, , , X,
 & & & X& ' ' ' X' -	A- - - X- - -r   r"   )auto_attribsfrozenslotsc                   2    e Zd ZU dZeed<   eed<   ded<   dS )r#   z0Parameters sent by the `on_request_start` signalmethodurlCIMultiDict[str]headersNr   r    r!   r   str__annotations__r   r   r   r   r#   r#      s6         ::KKK	HHHr   r#   c                   2    e Zd ZU dZeed<   eed<   eed<   dS )r0   z5Parameters sent by the `on_request_chunk_sent` signalr   r   chunkNr   r    r!   r   r   r   r   bytesr   r   r   r0   r0      s1         ??KKK	HHHLLLLLr   r0   c                   2    e Zd ZU dZeed<   eed<   eed<   dS )r1   z:Parameters sent by the `on_response_chunk_received` signalr   r   r   Nr   r   r   r   r1   r1      s1         DDKKK	HHHLLLLLr   r1   c                   <    e Zd ZU dZeed<   eed<   ded<   eed<   dS )r$   z.Parameters sent by the `on_request_end` signalr   r   r   r   responseNr   r    r!   r   r   r   r   r   r   r   r   r$   r$      sB         88KKK	HHHr   r$   c                   <    e Zd ZU dZeed<   eed<   ded<   eed<   dS )r%   z4Parameters sent by the `on_request_exception` signalr   r   r   r   	exceptionN)r   r    r!   r   r   r   r   BaseExceptionr   r   r   r%   r%      sB         >>KKK	HHHr   r%   c                   <    e Zd ZU dZeed<   eed<   ded<   eed<   dS )r/   z3Parameters sent by the `on_request_redirect` signalr   r   r   r   r   Nr   r   r   r   r/   r/     sB         ==KKK	HHHr   r/   c                       e Zd ZdZdS )r&   z:Parameters sent by the `on_connection_queued_start` signalNr   r    r!   r   r   r   r   r&   r&             DDDDr   r&   c                       e Zd ZdZdS )r'   z8Parameters sent by the `on_connection_queued_end` signalNr   r   r   r   r'   r'             BBBBr   r'   c                       e Zd ZdZdS )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dS )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dS )r*   z7Parameters sent by the `on_connection_reuseconn` signalNr   r   r   r   r*   r*   &  s        AAAAr   r*   c                       e Zd ZU dZeed<   dS )r+   z8Parameters sent by the `on_dns_resolvehost_start` signalhostNr   r    r!   r   r   r   r   r   r   r+   r+   +  s         BB
IIIIIr   r+   c                       e Zd ZU dZeed<   dS )r,   z6Parameters sent by the `on_dns_resolvehost_end` signalr   Nr   r   r   r   r,   r,   2  s         @@
IIIIIr   r,   c                       e Zd ZU dZeed<   dS )r-   z0Parameters sent by the `on_dns_cache_hit` signalr   Nr   r   r   r   r-   r-   9  s         ::
IIIIIr   r-   c                       e Zd ZU dZeed<   dS )r.   z1Parameters sent by the `on_dns_cache_miss` signalr   Nr   r   r   r   r.   r.   @  s         ;;
IIIIIr   r.   c                   2    e Zd ZU dZeed<   eed<   ded<   dS )r2   z7Parameters sent by the `on_request_headers_sent` signalr   r   r   r   Nr   r   r   r   r2   r2   G  s6         AAKKK	HHHr   r2   c            
       F   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dS )"TracezInternal dependency holder class.

    Used to keep together the main dependencies used
    at the moment of send a signal.
    sessionr   trace_configrJ   r   Nc                 0    || _         || _        || _        d S r   )_trace_config_trace_config_ctx_session)r   r   r   rJ   s       r   rG   zTrace.__init__W  s     *!1r   r   r   r   r   c           	         K   | j         j                            | j        | j        t          |||                     d {V S r   )r   rP   sendr   r   r#   r   r   r   r   s       r   send_request_startzTrace.send_request_starta  s^       '8==M"#FC99
 
 
 
 
 
 
 
 	
r   r   c           	         K   | j         j                            | j        | j        t          |||                     d {V S r   )r   rT   r   r   r   r0   r   r   r   r   s       r   send_request_chunk_sentzTrace.send_request_chunk_sentj  s^       '=BBM"'U;;
 
 
 
 
 
 
 
 	
r   c           	         K   | j         j                            | j        | j        t          |||                     d {V S r   )r   rW   r   r   r   r1   r   s       r   send_response_chunk_receivedz"Trace.send_response_chunk_receiveds  s^       'BGGM",VS%@@
 
 
 
 
 
 
 
 	
r   r   c           
         K   | j         j                            | j        | j        t          ||||                     d {V S r   )r   r[   r   r   r   r$   r   r   r   r   r   s        r   send_request_endzTrace.send_request_end|  s`       '6;;M"!&#wAA
 
 
 
 
 
 
 
 	
r   r   c           
         K   | j         j                            | j        | j        t          ||||                     d {V S r   )r   r^   r   r   r   r%   )r   r   r   r   r   s        r   send_request_exceptionzTrace.send_request_exception  s`       '<AAM"'WiHH
 
 
 
 
 
 
 
 	
r   c           
         K   | j         j                            | j        | j        t          ||||                     d {V S r   )r   r;   r   r   r   r/   r   s        r   send_request_redirectzTrace.send_request_redirect  s`       '<AAM"&vsGXFF
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t                                 d {V S r   )r   rd   r   r   r   r&   rM   s    r   send_connection_queued_startz"Trace.send_connection_queued_start  U      'BGGM413S3U3U
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t                                 d {V S r   )r   rg   r   r   r   r'   rM   s    r   send_connection_queued_endz Trace.send_connection_queued_end  U      '@EEM413Q3S3S
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t                                 d {V S r   )r   rk   r   r   r   r(   rM   s    r   send_connection_create_startz"Trace.send_connection_create_start  r   r   c                    K   | j         j                            | j        | j        t                                 d {V S r   )r   rn   r   r   r   r)   rM   s    r   send_connection_create_endz Trace.send_connection_create_end  r   r   c                    K   | j         j                            | j        | j        t                                 d {V S r   )r   rq   r   r   r   r*   rM   s    r   send_connection_reuseconnzTrace.send_connection_reuseconn  sU      '?DDM413Q3S3S
 
 
 
 
 
 
 
 	
r   r   c                    K   | j         j                            | j        | j        t          |                     d {V S r   )r   ru   r   r   r   r+   r   r   s     r   send_dns_resolvehost_startz Trace.send_dns_resolvehost_start  sX      '@EEM413QRV3W3W
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t          |                     d {V S r   )r   rx   r   r   r   r,   r   s     r   send_dns_resolvehost_endzTrace.send_dns_resolvehost_end  sX      '>CCM413OPT3U3U
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t          |                     d {V S r   )r   r{   r   r   r   r-   r   s     r   send_dns_cache_hitzTrace.send_dns_cache_hit  sW      '8==M413I$3O3O
 
 
 
 
 
 
 
 	
r   c                    K   | j         j                            | j        | j        t          |                     d {V S r   )r   r~   r   r   r   r.   r   s     r   send_dns_cache_misszTrace.send_dns_cache_miss  sW      '9>>M413J43P3P
 
 
 
 
 
 
 
 	
r   c           	         K   | j         j                            | j        | j        t          |||                     d {V S r   )r   rE   r   r   r   r2   r   s       r   send_request_headerszTrace.send_request_headers  s^       '@EEM")&#w??
 
 
 
 
 
 
 
 	
r   r   )r   r    r!   r   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 N N N N N N N N N N N N N N        ! ! ! ! ! !       ) ) ) ) ) ) %%%%%%W-TBBBN    (>2   *g- g- g- g- g- g- g- g-T T$d333              43  T$d333       43 T$d333       43 T$d333       43 T$d333       43 T$d333       43 T$d333E E E E E E E 43E T$d333C C C C C C C 43C T$d333E E E E E E E 43E T$d333C C C C C C C 43C T$d333B B B B B B B 43B T$d333       43 T$d333       43 T$d333       43 T$d333       43 T$d333              43 G
 G
 G
 G
 G
 G
 G
 G
 G
 G
r   