o
    4˜Žj¤8  ã                   @   s†  d dl mZ d dl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rAdd	lmZ ed
dd�Zeeeef ZdZG dd„ dƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd„ dƒƒZejdddd�G dd „ d ƒƒZejdddd�G d!d"„ d"ƒƒZejdddd�G d#d$„ d$ƒƒZejdddd�G d%d&„ d&ƒƒZ ejdddd�G d'd(„ d(ƒƒZ!ejdddd�G d)d*„ d*ƒƒZ"ejdddd�G d+d,„ d,ƒƒZ#ejdddd�G d-d.„ d.ƒƒZ$ejdddd�G d/d0„ d0ƒƒZ%G d1d2„ d2ƒZ&dS )3é    )ÚSimpleNamespace)ÚTYPE_CHECKINGÚAnyÚ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                   @   sX  e Zd ZdZefdee ddfdd„Zd<dedefdd	„Zd=d
d„Z	e
d>dd„ƒZe
		d?dd„ƒZe
		d@dd„ƒZe
dAdd„ƒZe
		dBdd„ƒZe
		dCdd„ƒZe
		dDdd „ƒZe
		!dEd"d#„ƒZe
		$dFd%d&„ƒZe
		'dGd(d)„ƒZe
		*dHd+d,„ƒZe
		-dId.d/„ƒZe
		0dJd1d2„ƒZe
dKd4d5„ƒZe
dLd7d8„ƒZe
		9dMd:d;„ƒZdS )Nr   zFFirst-class used to trace requests launched via ClientSession objects.Útrace_config_ctx_factoryÚreturnNc                 C   sª   t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _	t | ƒ| _
t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _t | ƒ| _|| _d S ©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   © r4   úL/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/aiohttp/tracing.pyÚ__init__*   s<   
ÿþ
ÿÿþþþþþþÿ

ÿ
zTraceConfig.__init__Útrace_request_ctxc                 C   s   | j |d�S )z&Return a new trace_config_ctx instance)r7   )r2   )r3   r7   r4   r4   r5   Útrace_config_ctxX   s   zTraceConfig.trace_config_ctxc                 C   s¤   | j  ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j	 ¡  | j
 ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  d S r!   )r"   Úfreezer#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   ©r3   r4   r4   r5   r9   \   s    














zTraceConfig.freezeú'_TracingSignal[TraceRequestStartParams]c                 C   ó   | j S r!   )r"   r:   r4   r4   r5   Úon_request_startn   ó   zTraceConfig.on_request_startú+_TracingSignal[TraceRequestChunkSentParams]c                 C   r<   r!   )r#   r:   r4   r4   r5   Úon_request_chunk_sentr   ó   z!TraceConfig.on_request_chunk_sentú0_TracingSignal[TraceResponseChunkReceivedParams]c                 C   r<   r!   )r$   r:   r4   r4   r5   Úon_response_chunk_receivedx   rA   z&TraceConfig.on_response_chunk_receivedú%_TracingSignal[TraceRequestEndParams]c                 C   r<   r!   )r%   r:   r4   r4   r5   Úon_request_end~   r>   zTraceConfig.on_request_endú+_TracingSignal[TraceRequestExceptionParams]c                 C   r<   r!   )r&   r:   r4   r4   r5   Úon_request_exception‚   rA   z TraceConfig.on_request_exceptionú*_TracingSignal[TraceRequestRedirectParams]c                 C   r<   r!   )r'   r:   r4   r4   r5   Úon_request_redirectˆ   rA   zTraceConfig.on_request_redirectú0_TracingSignal[TraceConnectionQueuedStartParams]c                 C   r<   r!   )r(   r:   r4   r4   r5   Úon_connection_queued_startŽ   rA   z&TraceConfig.on_connection_queued_startú._TracingSignal[TraceConnectionQueuedEndParams]c                 C   r<   r!   )r)   r:   r4   r4   r5   Úon_connection_queued_end”   rA   z$TraceConfig.on_connection_queued_endú0_TracingSignal[TraceConnectionCreateStartParams]c                 C   r<   r!   )r*   r:   r4   r4   r5   Úon_connection_create_startš   rA   z&TraceConfig.on_connection_create_startú._TracingSignal[TraceConnectionCreateEndParams]c                 C   r<   r!   )r+   r:   r4   r4   r5   Úon_connection_create_end    rA   z$TraceConfig.on_connection_create_endú._TracingSignal[TraceConnectionReuseconnParams]c                 C   r<   r!   )r,   r:   r4   r4   r5   Úon_connection_reuseconn¦   rA   z#TraceConfig.on_connection_reuseconnú._TracingSignal[TraceDnsResolveHostStartParams]c                 C   r<   r!   )r-   r:   r4   r4   r5   Úon_dns_resolvehost_start¬   rA   z$TraceConfig.on_dns_resolvehost_startú,_TracingSignal[TraceDnsResolveHostEndParams]c                 C   r<   r!   )r.   r:   r4   r4   r5   Úon_dns_resolvehost_end²   rA   z"TraceConfig.on_dns_resolvehost_endú&_TracingSignal[TraceDnsCacheHitParams]c                 C   r<   r!   )r/   r:   r4   r4   r5   Úon_dns_cache_hit¸   r>   zTraceConfig.on_dns_cache_hitú'_TracingSignal[TraceDnsCacheMissParams]c                 C   r<   r!   )r0   r:   r4   r4   r5   Úon_dns_cache_miss¼   r>   zTraceConfig.on_dns_cache_missú-_TracingSignal[TraceRequestHeadersSentParams]c                 C   r<   r!   )r1   r:   r4   r4   r5   Úon_request_headers_sentÀ   rA   z#TraceConfig.on_request_headers_sentr!   ©r    N)r    r;   )r    r?   )r    rB   )r    rD   )r    rF   )r    rH   )r    rJ   )r    rL   )r    rN   )r    rP   )r    rR   )r    rT   )r    rV   )r    rX   )r    rZ   )r    r\   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Útyper6   r   r8   r9   Úpropertyr=   r@   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rW   rY   r[   r]   r4   r4   r4   r5   r   '   s„    ÿÿ
þ.
þþþþþþþþþþþþr   )Úauto_attribsÚfrozenÚslotsc                   @   ó*   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`   ra   rb   ÚstrÚ__annotations__r   r4   r4   r4   r5   r   Ç   ó
   
 r   c                   @   ó*   e Zd ZU dZeed< eed< eed< dS )r   z5Parameters sent by the `on_request_chunk_sent` signalri   rj   ÚchunkN©r_   r`   ra   rb   rn   ro   r   Úbytesr4   r4   r4   r5   r   Ð   rp   r   c                   @   rq   )r   z:Parameters sent by the `on_response_chunk_received` signalri   rj   rr   Nrs   r4   r4   r4   r5   r   Ù   rp   r   c                   @   ó2   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` signalri   rj   rk   rl   ÚresponseN©r_   r`   ra   rb   rn   ro   r   r
   r4   r4   r4   r5   r   â   ó   
 r   c                   @   ru   )r   z4Parameters sent by the `on_request_exception` signalri   rj   rk   rl   Ú	exceptionN)r_   r`   ra   rb   rn   ro   r   ÚBaseExceptionr4   r4   r4   r5   r   ì   rx   r   c                   @   ru   )r   z3Parameters sent by the `on_request_redirect` signalri   rj   rk   rl   rv   Nrw   r4   r4   r4   r5   r   ö   rx   r   c                   @   ó   e Zd ZdZdS )r   z:Parameters sent by the `on_connection_queued_start` signalN©r_   r`   ra   rb   r4   r4   r4   r5   r      ó    r   c                   @   r{   )r   z8Parameters sent by the `on_connection_queued_end` signalNr|   r4   r4   r4   r5   r     r}   r   c                   @   r{   )r   z:Parameters sent by the `on_connection_create_start` signalNr|   r4   r4   r4   r5   r   
  r}   r   c                   @   r{   )r   z8Parameters sent by the `on_connection_create_end` signalNr|   r4   r4   r4   r5   r     r}   r   c                   @   r{   )r   z7Parameters sent by the `on_connection_reuseconn` signalNr|   r4   r4   r4   r5   r     r}   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`   ra   rb   rn   ro   r4   r4   r4   r5   r     ó   
 r   c                   @   r~   )r   z6Parameters sent by the `on_dns_resolvehost_end` signalr   Nr€   r4   r4   r4   r5   r      r�   r   c                   @   r~   )r   z0Parameters sent by the `on_dns_cache_hit` signalr   Nr€   r4   r4   r4   r5   r   '  r�   r   c                   @   r~   )r   z1Parameters sent by the `on_dns_cache_miss` signalr   Nr€   r4   r4   r4   r5   r   .  r�   r   c                   @   rh   )r   z7Parameters sent by the `on_request_headers_sent` signalri   rj   rk   rl   Nrm   r4   r4   r4   r5   r   5  rp   r   c                
   @   sf  e Zd ZdZdddededdfdd	„Zd
ededdddfdd„Z	d
edede
ddfdd„Zd
edede
ddfdd„Zd
ededddeddf
dd„Zd
ededddeddf
dd„Zd
ededddeddf
dd„Zd2dd„Zd2dd „Zd2d!d"„Zd2d#d$„Zd2d%d&„Zd'eddfd(d)„Zd'eddfd*d+„Zd'eddfd,d-„Zd'eddfd.d/„Zd
ededdddfd0d1„ZdS )3ÚTracez€Internal dependency holder class.

    Used to keep together the main dependencies used
    at the moment of send a signal.
    Úsessionr   Útrace_configr8   r    Nc                 C   s   || _ || _|| _d S r!   )Ú_trace_configÚ_trace_config_ctxÚ_session)r3   rƒ   r„   r8   r4   r4   r5   r6   E  s   
zTrace.__init__ri   rj   rl   rk   c                 Ã   ó&   �| j j | j| jt|||ƒ¡I d H S r!   )r…   r=   Úsendr‡   r†   r   ©r3   ri   rj   rl   r4   r4   r5   Úsend_request_startO  ó   €

ýzTrace.send_request_startrr   c                 Ã   rˆ   r!   )r…   r@   r‰   r‡   r†   r   ©r3   ri   rj   rr   r4   r4   r5   Úsend_request_chunk_sentX  rŒ   zTrace.send_request_chunk_sentc                 Ã   rˆ   r!   )r…   rC   r‰   r‡   r†   r   r�   r4   r4   r5   Úsend_response_chunk_receiveda  rŒ   z"Trace.send_response_chunk_receivedrv   c              	   Ã   ó(   �| j j | j| jt||||ƒ¡I d H S r!   )r…   rE   r‰   r‡   r†   r   ©r3   ri   rj   rl   rv   r4   r4   r5   Úsend_request_endj  ó   €
ýzTrace.send_request_endry   c              	   Ã   r�   r!   )r…   rG   r‰   r‡   r†   r   )r3   ri   rj   rl   ry   r4   r4   r5   Úsend_request_exceptionw  r“   zTrace.send_request_exceptionc              	   Ã   r�   r!   )r…   r'   r‰   r‡   r†   r   r‘   r4   r4   r5   Úsend_request_redirect„  r“   zTrace.send_request_redirectc                 Ã   ó    �| j j | j| jtƒ ¡I d H S r!   )r…   rK   r‰   r‡   r†   r   r:   r4   r4   r5   Úsend_connection_queued_start‘  ó   €
ÿz"Trace.send_connection_queued_startc                 Ã   r–   r!   )r…   rM   r‰   r‡   r†   r   r:   r4   r4   r5   Úsend_connection_queued_end–  r˜   z Trace.send_connection_queued_endc                 Ã   r–   r!   )r…   rO   r‰   r‡   r†   r   r:   r4   r4   r5   Úsend_connection_create_start›  r˜   z"Trace.send_connection_create_startc                 Ã   r–   r!   )r…   rQ   r‰   r‡   r†   r   r:   r4   r4   r5   Úsend_connection_create_end   r˜   z Trace.send_connection_create_endc                 Ã   r–   r!   )r…   rS   r‰   r‡   r†   r   r:   r4   r4   r5   Úsend_connection_reuseconn¥  r˜   zTrace.send_connection_reuseconnr   c                 Ã   ó"   �| j j | j| jt|ƒ¡I d H S r!   )r…   rU   r‰   r‡   r†   r   ©r3   r   r4   r4   r5   Úsend_dns_resolvehost_startª  ó   €
ÿz Trace.send_dns_resolvehost_startc                 Ã   r�   r!   )r…   rW   r‰   r‡   r†   r   rž   r4   r4   r5   Úsend_dns_resolvehost_end¯  r    zTrace.send_dns_resolvehost_endc                 Ã   r�   r!   )r…   rY   r‰   r‡   r†   r   rž   r4   r4   r5   Úsend_dns_cache_hit´  r    zTrace.send_dns_cache_hitc                 Ã   r�   r!   )r…   r[   r‰   r‡   r†   r   rž   r4   r4   r5   Úsend_dns_cache_miss¹  r    zTrace.send_dns_cache_missc                 Ã   rˆ   r!   )r…   r1   r‰   r‡   r†   r   rŠ   r4   r4   r5   Úsend_request_headers¾  rŒ   zTrace.send_request_headersr^   )r_   r`   ra   rb   r   r   r6   rn   r   r‹   rt   rŽ   r�   r
   r’   rz   r”   r•   r—   r™   rš   r›   rœ   rŸ   r¡   r¢   r£   r¤   r4   r4   r4   r5   r‚   >  s²    þýü
û
ÿÿÿ
þ	ÿÿÿ
þ	ÿÿÿ
þ	þýüû
úþýüû
úþýüû
ú




ÿÿÿþr‚   )'Útypesr   Útypingr   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‚   r4   r4   r4   r5   Ú<module>   s^     !			