
    ˩h8                        d dl mZ d dl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e
eeef   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- d.             Z& ej.                  ddd       G d/ d0             Z' G d1 d2      Z(y)3    )SimpleNamespace)TYPE_CHECKINGMappingOptionalTypeTypeVarN)Signal)CIMultiDict)URL   )ClientResponse)ClientSession_ParamT_contraT)contravariant)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_factoryreturnNc                    t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _	        t        |       | _
        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        t        |       | _        || _        y N)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)selfr#   s     M/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/aiohttp/tracing.py__init__zTraceConfig.__init__*   s    KQQU,4L 	#
 4L 	( GMTl4L 	" QWQ
!
 4L 	(
 4L 	&
 4L 	(
 4L 	&
 4L 	%
 4L 	& 4L 	$ JPPTKQRV<4L 	% *B&    trace_request_ctxc                 &    | j                  |      S )z&Return a new trace_config_ctx instance)r<   )r7   )r8   r<   s     r9   trace_config_ctxzTraceConfig.trace_config_ctxX   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&   )r'   freezer(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r8   s    r9   r@   zTraceConfig.freeze^   s"   %%'##**,((//1##%""))+!!((*((//1&&--/((//1&&--/%%,,.&&--/$$++-%%'&&(%%,,.r;   c                     | j                   S r&   )r'   rA   s    r9   on_request_startzTraceConfig.on_request_startp       %%%r;   c                     | j                   S r&   )r(   rA   s    r9   on_request_chunk_sentz!TraceConfig.on_request_chunk_sentt   s     ***r;   c                     | j                   S r&   )r)   rA   s    r9   on_response_chunk_receivedz&TraceConfig.on_response_chunk_receivedz        ///r;   c                     | j                   S r&   )r*   rA   s    r9   on_request_endzTraceConfig.on_request_end   s    ###r;   c                     | j                   S r&   )r+   rA   s    r9   on_request_exceptionz TraceConfig.on_request_exception   s     )))r;   c                     | j                   S r&   )r,   rA   s    r9   on_request_redirectzTraceConfig.on_request_redirect   s     (((r;   c                     | j                   S r&   )r-   rA   s    r9   on_connection_queued_startz&TraceConfig.on_connection_queued_start   rI   r;   c                     | j                   S r&   )r.   rA   s    r9   on_connection_queued_endz$TraceConfig.on_connection_queued_end        ---r;   c                     | j                   S r&   )r/   rA   s    r9   on_connection_create_startz&TraceConfig.on_connection_create_start   rI   r;   c                     | j                   S r&   )r0   rA   s    r9   on_connection_create_endz$TraceConfig.on_connection_create_end   rT   r;   c                     | j                   S r&   )r1   rA   s    r9   on_connection_reuseconnz#TraceConfig.on_connection_reuseconn        ,,,r;   c                     | j                   S r&   )r2   rA   s    r9   on_dns_resolvehost_startz$TraceConfig.on_dns_resolvehost_start   rT   r;   c                     | j                   S r&   )r3   rA   s    r9   on_dns_resolvehost_endz"TraceConfig.on_dns_resolvehost_end   s     +++r;   c                     | j                   S r&   )r4   rA   s    r9   on_dns_cache_hitzTraceConfig.on_dns_cache_hit   rD   r;   c                     | j                   S r&   )r5   rA   s    r9   on_dns_cache_misszTraceConfig.on_dns_cache_miss   s    &&&r;   c                     | j                   S r&   )r6   rA   s    r9   on_request_headers_sentz#TraceConfig.on_request_headers_sent   r[   r;   r&   r$   N)r$   z'_TracingSignal[TraceRequestStartParams])r$   z+_TracingSignal[TraceRequestChunkSentParams])r$   z0_TracingSignal[TraceResponseChunkReceivedParams])r$   z%_TracingSignal[TraceRequestEndParams])r$   z+_TracingSignal[TraceRequestExceptionParams])r$   z*_TracingSignal[TraceRequestRedirectParams])r$   z0_TracingSignal[TraceConnectionQueuedStartParams])r$   z._TracingSignal[TraceConnectionQueuedEndParams])r$   z0_TracingSignal[TraceConnectionCreateStartParams])r$   z._TracingSignal[TraceConnectionCreateEndParams])r$   z._TracingSignal[TraceConnectionReuseconnParams])r$   z._TracingSignal[TraceDnsResolveHostStartParams])r$   z,_TracingSignal[TraceDnsResolveHostEndParams])r$   z&_TracingSignal[TraceDnsCacheHitParams])r$   z'_TracingSignal[TraceDnsCacheMissParams])r$   z-_TracingSignal[TraceRequestHeadersSentParams])__name__
__module____qualname____doc__r   r   r:   r   r   strr>   r@   propertyrC   rF   rH   rK   rM   rO   rQ   rS   rV   rX   rZ   r]   r_   ra   rc   re    r;   r9   r   r   '   s   P AP,B(,_(=,B	,B^ @DS!)'#s(*;!<S	S/$ & & +	6+ +
 0	;0 0
 $ $ *	6* *
 )	5) )
 0	;0 0
 .	9. .
 0	;0 0
 .	9. .
 -	9- -
 .	9. .
 ,	7, ,
 & & ' ' -	8- -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rg   rh   ri   rj   rk   __annotations__r   rm   r;   r9   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)r   z5Parameters sent by the `on_request_chunk_sent` signalrr   rs   chunkNrg   rh   ri   rj   rk   rw   r   bytesrm   r;   r9   r   r      s    ?K	HLr;   r   c                   0    e Zd ZU dZeed<   eed<   eed<   y)r    z:Parameters sent by the `on_response_chunk_received` signalrr   rs   ry   Nrz   rm   r;   r9   r    r       s    DK	HLr;   r    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` signalrr   rs   rt   ru   responseNrg   rh   ri   rj   rk   rw   r   r   rm   r;   r9   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` signalrr   rs   rt   ru   	exceptionN)rg   rh   ri   rj   rk   rw   r   BaseExceptionrm   r;   r9   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` signalrr   rs   rt   ru   r~   Nr   rm   r;   r9   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rg   rh   ri   rj   rm   r;   r9   r   r         Dr;   r   c                       e Zd ZdZy)r   z8Parameters sent by the `on_connection_queued_end` signalNr   rm   r;   r9   r   r         Br;   r   c                       e Zd ZdZy)r   z:Parameters sent by the `on_connection_create_start` signalNr   rm   r;   r9   r   r     r   r;   r   c                       e Zd ZdZy)r   z8Parameters sent by the `on_connection_create_end` signalNr   rm   r;   r9   r   r     r   r;   r   c                       e Zd ZdZy)r   z7Parameters sent by the `on_connection_reuseconn` signalNr   rm   r;   r9   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rg   rh   ri   rj   rk   rw   rm   r;   r9   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   rm   r;   r9   r   r   "  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   rm   r;   r9   r   r   )  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   rm   r;   r9   r   r   0  s
    ;
Ir;   r   c                   0    e Zd ZU dZeed<   eed<   ded<   y)r!   z7Parameters sent by the `on_request_headers_sent` signalrr   rs   rt   ru   Nrv   rm   r;   r9   r!   r!   7  s    AK	Hr;   r!   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_configr>   r$   Nc                 .    || _         || _        || _        y r&   )_trace_config_trace_config_ctx_session)r8   r   r   r>   s       r9   r:   zTrace.__init__G  s     *!1r;   rr   rs   ru   rt   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr&   )r   rC   sendr   r   r   r8   rr   rs   ru   s       r9   send_request_startzTrace.send_request_startQ  sM      ''88==MM""#FC9
 
 	
 
   A
AAAry   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr&   )r   rF   r   r   r   r   r8   rr   rs   ry   s       r9   send_request_chunk_sentzTrace.send_request_chunk_sentZ  sM      ''==BBMM""'U;
 
 	
 
r   c           	         K   | j                   j                  j                  | j                  | j                  t        |||             d {   S 7 wr&   )r   rH   r   r   r   r    r   s       r9   send_response_chunk_receivedz"Trace.send_response_chunk_receivedc  sM      ''BBGGMM"",VS%@
 
 	
 
r   r~   c           
         K   | j                   j                  j                  | j                  | j                  t        ||||             d {   S 7 wr&   )r   rK   r   r   r   r   r8   rr   rs   ru   r~   s        r9   send_request_endzTrace.send_request_endl  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   rM   r   r   r   r   )r8   rr   rs   ru   r   s        r9   send_request_exceptionzTrace.send_request_exceptiony  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        r9   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   rQ   r   r   r   r   rA   s    r9   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   rS   r   r   r   r   rA   s    r9   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   rV   r   r   r   r   rA   s    r9   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   rX   r   r   r   r   rA   s    r9   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   rZ   r   r   r   r   rA   s    r9   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   r]   r   r   r   r   r8   r   s     r9   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   r_   r   r   r   r   r   s     r9   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   ra   r   r   r   r   r   s     r9   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   rc   r   r   r   r   r   s     r9   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   r6   r   r   r   r!   r   s       r9   send_request_headerszTrace.send_request_headers  sM      ''@@EEMM"")&#w?
 
 	
 
r   rf   )rg   rh   ri   rj   r   r   r:   rk   r   r   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rm   r;   r9   r   r   @  s       "  *	 
 
 

 #
.@
	


 #
,1
	


 #
,1
	


 
 $	

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

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

 !
 












S 
T 


3 
4 


S 
T 


c 
d 



 #
.@
	
r;   r   ))typesr   typingr   r   r   r   r   attr	aiosignalr	   	multidictr
   yarlr   client_reqrepr   clientr   r   _TracingSignal__all__r   sr   r   r    r   r   r   r   r   r   r   r   r   r   r   r   r!   r   rm   r;   r9   <module>r      s   ! B B   !  )%-TBNM?NJKN*_- _-D 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;   