
    g!;                        d dl mZ d dlmZ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
j2                  ddd       G d d             Z e
j2                  ddd       G d d             Z e
j2                  ddd       G d d             Z e
j2                  ddd       G d d             Z e
j2                  ddd       G d d             Z e
j2                  ddd       G d d             Z e
j2                  ddd       G d d              Z  e
j2                  ddd       G d! d"             Z! e
j2                  ddd       G d# d$             Z" e
j2                  ddd       G d% d&             Z# e
j2                  ddd       G d' d(             Z$ e
j2                  ddd       G d) d*             Z% e
j2                  ddd       G d+ d,             Z& e
j2                  ddd       G d- d.             Z' e
j2                  ddd       G d/ d0             Z( e
j2                  ddd       G d1 d2             Z) G d3 d4      Z*y)5    )SimpleNamespace)TYPE_CHECKING	AwaitableMapping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       D/var/www/openai/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e	e	f      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   r5   s     r   __init__zTraceConfig.__init__1   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)rI   )rG   )r   rI   s     r   trace_config_ctxzTraceConfig.trace_config_ctxg   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   )r7   freezer8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   r   s    r   rM   zTraceConfig.freezem   s"   %%'##**,((//1##%""))+!!((*((//1&&--/((//1&&--/%%,,.&&--/$$++-%%'&&(%%,,.r   c                     | j                   S r   )r7   rN   s    r   on_request_startzTraceConfig.on_request_start       %%%r   c                     | j                   S r   )r8   rN   s    r   on_request_chunk_sentz!TraceConfig.on_request_chunk_sent   s     ***r   c                     | j                   S r   )r9   rN   s    r   on_response_chunk_receivedz&TraceConfig.on_response_chunk_received        ///r   c                     | j                   S r   )r:   rN   s    r   on_request_endzTraceConfig.on_request_end   s    ###r   c                     | j                   S r   )r;   rN   s    r   on_request_exceptionz TraceConfig.on_request_exception   s     )))r   c                     | j                   S r   )r<   rN   s    r   on_request_redirectzTraceConfig.on_request_redirect   s     (((r   c                     | j                   S r   )r=   rN   s    r   on_connection_queued_startz&TraceConfig.on_connection_queued_start   rV   r   c                     | j                   S r   )r>   rN   s    r   on_connection_queued_endz$TraceConfig.on_connection_queued_end        ---r   c                     | j                   S r   )r?   rN   s    r   on_connection_create_startz&TraceConfig.on_connection_create_start   rV   r   c                     | j                   S r   )r@   rN   s    r   on_connection_create_endz$TraceConfig.on_connection_create_end   ra   r   c                     | j                   S r   )rA   rN   s    r   on_connection_reuseconnz#TraceConfig.on_connection_reuseconn        ,,,r   c                     | j                   S r   )rB   rN   s    r   on_dns_resolvehost_startz$TraceConfig.on_dns_resolvehost_start   ra   r   c                     | j                   S r   )rC   rN   s    r   on_dns_resolvehost_endz"TraceConfig.on_dns_resolvehost_end   s     +++r   c                     | j                   S r   )rD   rN   s    r   on_dns_cache_hitzTraceConfig.on_dns_cache_hit   rQ   r   c                     | j                   S r   )rE   rN   s    r   on_dns_cache_misszTraceConfig.on_dns_cache_miss   s    &&&r   c                     | j                   S r   )rF   rN   s    r   on_request_headers_sentz#TraceConfig.on_request_headers_sent   rh   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	   rH   r   r   strrK   rM   propertyrP   rS   rU   rX   rZ   r\   r^   r`   rc   re   rg   rj   rl   rn   rp   rr   r   r   r   r#   r#   .   s   P AP4B(,_(=4B	4Bn @DS!)'#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"   rt   ru   __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)r1   z5Parameters sent by the `on_request_chunk_sent` signalr{   r|   chunkNr    r!   r"   rt   ru   r   r   bytesr   r   r   r1   r1      s    ?K	HLr   r1   c                   0    e Zd ZU dZeed<   eed<   eed<   y)r2   z:Parameters sent by the `on_response_chunk_received` signalr{   r|   r   Nr   r   r   r   r2   r2      s    DK	HLr   r2   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` signalr{   r|   r}   r~   responseNr    r!   r"   rt   ru   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` signalr{   r|   r}   r~   	exceptionN)r    r!   r"   rt   ru   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)r0   z3Parameters sent by the `on_request_redirect` signalr{   r|   r}   r~   r   Nr   r   r   r   r0   r0     s    =K	Hr   r0   c                       e Zd ZdZy)r'   z:Parameters sent by the `on_connection_queued_start` signalNr    r!   r"   rt   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"   rt   ru   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-   1  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.   8  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)r3   z7Parameters sent by the `on_request_headers_sent` signalr{   r|   r}   r~   Nr   r   r   r   r3   r3   F  s    AK	Hr   r3   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_configrK   r   Nc                 .    || _         || _        || _        y r   )_trace_config_trace_config_ctx_session)r   r   r   rK   s       r   rH   zTrace.__init__V  s     *!1r   r{   r|   r~   r}   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rP   sendr   r   r$   r   r{   r|   r~   s       r   send_request_startzTrace.send_request_start`  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   rS   r   r   r   r1   r   r{   r|   r   s       r   send_request_chunk_sentzTrace.send_request_chunk_senti  sM      ''==BBMM""'U;
 
 	
 
r   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr   )r   rU   r   r   r   r2   r   s       r   send_response_chunk_receivedz"Trace.send_response_chunk_receivedr  sM      ''BBGGMM"",VS%@
 
 	
 
r   r   c           
         K   | j                   j                  j                  | j                  | j                  t        ||||             d {   S 7 wr   )r   rX   r   r   r   r%   r   r{   r|   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   rZ   r   r   r   r&   )r   r{   r|   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   r0   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'   rN   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(   rN   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   rc   r   r   r   r)   rN   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   re   r   r   r   r*   rN   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   rg   r   r   r   r+   rN   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   rj   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   rl   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   rn   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   rp   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   rF   r   r   r   r3   r   s       r   send_request_headerszTrace.send_request_headers  sM      ''@@EEMM"")&#w?
 
 	
 
r   rs   )r    r!   r"   rt   r#   r   rH   ru   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   O  s       "  *	 
 
 

 #
.@
	


 #
,1
	


 #
,1
	


 
 $	

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

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

 !
 












S 
T 


3 
4 


S 
T 


c 
d 



 #
.@
	
r   r   )+typesr   typingr   r   r   r   r   r	   r
   attr	aiosignalr   	multidictr   yarlr   client_reqrepr   clientr   r   r   __all__r#   sr$   r1   r2   r%   r&   r0   r'   r(   r)   r*   r+   r,   r-   r.   r/   r3   r   r   r   r   <module>r      s   ! W W W   !  )%-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   