a
     ÑOcI;  ã                   @   s   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 dd
lmZ eddd�ZG dd„ dee ƒ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 d0d1„ d1ƒƒZ(ejdddd�G d2d3„ d3ƒƒZ)G d4d5„ d5ƒZ*dS )6é    )ÚSimpleNamespace)ÚTYPE_CHECKINGÚ	AwaitableÚOptionalÚTypeÚTypeVarN)ÚSignal)ÚCIMultiDict)ÚURLé   )ÚClientResponse)ÚClientSession)ÚProtocolÚ_ParamT_contraT)Úcontravariantc                   @   s$   e Zd Zeeeed dœdd„ZdS )Ú_SignalCallbackN)Ú_SignalCallback__client_sessionÚ!_SignalCallback__trace_config_ctxÚ_SignalCallback__paramsÚreturnc                 C   s   d S ©N© )Úselfr   r   r   r   r   úF/var/www/html/gsl.tools/lib/python3.9/site-packages/aiohttp/tracing.pyÚ__call__   s    z_SignalCallback.__call__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s
   ûr   )ÚTraceConfigÚTraceRequestStartParamsÚTraceRequestEndParamsÚTraceRequestExceptionParamsÚ TraceConnectionQueuedStartParamsÚTraceConnectionQueuedEndParamsÚ TraceConnectionCreateStartParamsÚTraceConnectionCreateEndParamsÚTraceConnectionReuseconnParamsÚTraceDnsResolveHostStartParamsÚTraceDnsResolveHostEndParamsÚTraceDnsCacheHitParamsÚTraceDnsCacheMissParamsÚTraceRequestRedirectParamsÚTraceRequestChunkSentParamsÚ TraceResponseChunkReceivedParamsÚTraceRequestHeadersSentParamsc                   @   sl  e Zd ZdZefee ddœdd„Zd<ee edœdd„Zdd	œd
d„Z	e
dd	œdd„ƒZe
dd	œdd„ƒZe
dd	œdd„ƒZe
dd	œdd„ƒZe
dd	œdd„ƒZe
dd	œdd„ƒZe
dd	œdd „ƒZe
d!d	œd"d#„ƒZe
d$d	œd%d&„ƒZe
d'd	œd(d)„ƒZe
d*d	œd+d,„ƒZe
d-d	œd.d/„ƒZe
d0d	œd1d2„ƒZe
d3d	œd4d5„ƒZe
d6d	œd7d8„ƒZe
d9d	œd:d;„ƒZdS )=r   zFFirst-class used to trace requests launched via ClientSession objects.N)Útrace_config_ctx_factoryr   c                 C   sª   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   r/   r   r   r   Ú__init__3   sD    þþþÿþþþþþþþþþþþþzTraceConfig.__init__)Útrace_request_ctxr   c                 C   s   | j |d�S )z&Return a new trace_config_ctx instance)rB   )r@   )r   rB   r   r   r   Útrace_config_ctxi   s    zTraceConfig.trace_config_ctx©r   c                 C   s¤   | j  ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j	 ¡  | j
 ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  | j ¡  d S r   )r0   Úfreezer1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   ©r   r   r   r   rE   o   s     














zTraceConfig.freezez0Signal[_SignalCallback[TraceRequestStartParams]]c                 C   s   | j S r   )r0   rF   r   r   r   Úon_request_start�   s    zTraceConfig.on_request_startz4Signal[_SignalCallback[TraceRequestChunkSentParams]]c                 C   s   | j S r   )r1   rF   r   r   r   Úon_request_chunk_sent…   s    z!TraceConfig.on_request_chunk_sentz9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]c                 C   s   | j S r   )r2   rF   r   r   r   Úon_response_chunk_received‹   s    z&TraceConfig.on_response_chunk_receivedz.Signal[_SignalCallback[TraceRequestEndParams]]c                 C   s   | j S r   )r3   rF   r   r   r   Úon_request_end‘   s    zTraceConfig.on_request_endz4Signal[_SignalCallback[TraceRequestExceptionParams]]c                 C   s   | j S r   )r4   rF   r   r   r   Úon_request_exception•   s    z TraceConfig.on_request_exceptionz3Signal[_SignalCallback[TraceRequestRedirectParams]]c                 C   s   | j S r   )r5   rF   r   r   r   Úon_request_redirect›   s    zTraceConfig.on_request_redirectz9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]c                 C   s   | j S r   )r6   rF   r   r   r   Úon_connection_queued_start¡   s    z&TraceConfig.on_connection_queued_startz7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]c                 C   s   | j S r   )r7   rF   r   r   r   Úon_connection_queued_end§   s    z$TraceConfig.on_connection_queued_endz9Signal[_SignalCallback[TraceConnectionCreateStartParams]]c                 C   s   | j S r   )r8   rF   r   r   r   Úon_connection_create_start­   s    z&TraceConfig.on_connection_create_startz7Signal[_SignalCallback[TraceConnectionCreateEndParams]]c                 C   s   | j S r   )r9   rF   r   r   r   Úon_connection_create_end³   s    z$TraceConfig.on_connection_create_endz7Signal[_SignalCallback[TraceConnectionReuseconnParams]]c                 C   s   | j S r   )r:   rF   r   r   r   Úon_connection_reuseconn¹   s    z#TraceConfig.on_connection_reuseconnz7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]c                 C   s   | j S r   )r;   rF   r   r   r   Úon_dns_resolvehost_start¿   s    z$TraceConfig.on_dns_resolvehost_startz5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]c                 C   s   | j S r   )r<   rF   r   r   r   Úon_dns_resolvehost_endÅ   s    z"TraceConfig.on_dns_resolvehost_endz/Signal[_SignalCallback[TraceDnsCacheHitParams]]c                 C   s   | j S r   )r=   rF   r   r   r   Úon_dns_cache_hitË   s    zTraceConfig.on_dns_cache_hitz0Signal[_SignalCallback[TraceDnsCacheMissParams]]c                 C   s   | j S r   )r>   rF   r   r   r   Úon_dns_cache_missÏ   s    zTraceConfig.on_dns_cache_missz6Signal[_SignalCallback[TraceRequestHeadersSentParams]]c                 C   s   | j S r   )r?   rF   r   r   r   Úon_request_headers_sentÓ   s    z#TraceConfig.on_request_headers_sent)N)r   r   r   Ú__doc__r   r   rA   r   rC   rE   ÚpropertyrG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   r   r   r   r   r   0   sp   ÿþ7 ÿþþþþþþþþþþþþþr   )Zauto_attribsÚfrozenÚslotsc                   @   s*   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   rW   ÚstrÚ__annotations__r
   r   r   r   r   r   Ú   s   
r   c                   @   s*   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` signalr[   r\   ÚchunkN©r   r   r   rW   r`   ra   r
   Úbytesr   r   r   r   r,   ã   s   
r,   c                   @   s*   e Zd ZU dZeed< eed< eed< dS )r-   z:Parameters sent by the `on_response_chunk_received` signalr[   r\   rb   Nrc   r   r   r   r   r-   ì   s   
r-   c                   @   s2   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   rW   r`   ra   r
   r   r   r   r   r   r    õ   s
   
r    c                   @   s2   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   rW   r`   ra   r
   ÚBaseExceptionr   r   r   r   r!   ÿ   s
   
r!   c                   @   s2   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^   re   Nrf   r   r   r   r   r+   	  s
   
r+   c                   @   s   e Zd ZdZdS )r"   z:Parameters sent by the `on_connection_queued_start` signalN©r   r   r   rW   r   r   r   r   r"     s   r"   c                   @   s   e Zd ZdZdS )r#   z8Parameters sent by the `on_connection_queued_end` signalNri   r   r   r   r   r#     s   r#   c                   @   s   e Zd ZdZdS )r$   z:Parameters sent by the `on_connection_create_start` signalNri   r   r   r   r   r$     s   r$   c                   @   s   e Zd ZdZdS )r%   z8Parameters sent by the `on_connection_create_end` signalNri   r   r   r   r   r%   "  s   r%   c                   @   s   e Zd ZdZdS )r&   z7Parameters sent by the `on_connection_reuseconn` signalNri   r   r   r   r   r&   '  s   r&   c                   @   s   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   rW   r`   ra   r   r   r   r   r'   ,  s   
r'   c                   @   s   e Zd ZU dZeed< dS )r(   z6Parameters sent by the `on_dns_resolvehost_end` signalrj   Nrk   r   r   r   r   r(   3  s   
r(   c                   @   s   e Zd ZU dZeed< dS )r)   z0Parameters sent by the `on_dns_cache_hit` signalrj   Nrk   r   r   r   r   r)   :  s   
r)   c                   @   s   e Zd ZU dZeed< dS )r*   z1Parameters sent by the `on_dns_cache_miss` signalrj   Nrk   r   r   r   r   r*   A  s   
r*   c                   @   s*   e Zd ZU dZeed< eed< ded< dS )r.   z7Parameters sent by the `on_request_headers_sent` signalr[   r\   r]   r^   Nr_   r   r   r   r   r.   H  s   
r.   c                   @   s<  e Zd ZdZdeeddœdd„Zeedddœd	d
„Z	eee
ddœdd„Zeee
ddœdd„Zeededdœdd„Zeededdœdd„Zeededdœdd„Zddœdd„Zddœdd„Zddœdd„Zddœdd „Zddœd!d"„Zedd#œd$d%„Zedd#œd&d'„Zedd#œd(d)„Zedd#œd*d+„Zeedddœd,d-„ZdS ).ÚTracez€Internal dependency holder class.

    Used to keep together the main dependencies used
    at the moment of send a signal.
    r   N)ÚsessionÚtrace_configrC   r   c                 C   s   || _ || _|| _d S r   )Ú_trace_configÚ_trace_config_ctxÚ_session)r   rm   rn   rC   r   r   r   rA   X  s    zTrace.__init__r]   )r[   r\   r^   r   c                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )ro   rG   Úsendrq   rp   r   ©r   r[   r\   r^   r   r   r   Úsend_request_startb  s
    
ýzTrace.send_request_start)r[   r\   rb   r   c                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )ro   rH   rr   rq   rp   r,   ©r   r[   r\   rb   r   r   r   Úsend_request_chunk_sentk  s
    
ýzTrace.send_request_chunk_sentc                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )ro   rI   rr   rq   rp   r-   ru   r   r   r   Úsend_response_chunk_receivedt  s
    
ýz"Trace.send_response_chunk_received)r[   r\   r^   re   r   c              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )ro   rJ   rr   rq   rp   r    ©r   r[   r\   r^   re   r   r   r   Úsend_request_end}  s
    ýzTrace.send_request_end)r[   r\   r^   rg   r   c              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )ro   rK   rr   rq   rp   r!   )r   r[   r\   r^   rg   r   r   r   Úsend_request_exceptionŠ  s
    ýzTrace.send_request_exceptionc              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )ro   r5   rr   rq   rp   r+   rx   r   r   r   Úsend_request_redirect—  s
    ýzTrace.send_request_redirectrD   c                 Ã   s   | j j | j| jtƒ ¡I d H S r   )ro   rM   rr   rq   rp   r"   rF   r   r   r   Úsend_connection_queued_start¤  s    ÿz"Trace.send_connection_queued_startc                 Ã   s   | j j | j| jtƒ ¡I d H S r   )ro   rN   rr   rq   rp   r#   rF   r   r   r   Úsend_connection_queued_end©  s    ÿz Trace.send_connection_queued_endc                 Ã   s   | j j | j| jtƒ ¡I d H S r   )ro   rO   rr   rq   rp   r$   rF   r   r   r   Úsend_connection_create_start®  s    ÿz"Trace.send_connection_create_startc                 Ã   s   | j j | j| jtƒ ¡I d H S r   )ro   rP   rr   rq   rp   r%   rF   r   r   r   Úsend_connection_create_end³  s    ÿz Trace.send_connection_create_endc                 Ã   s   | j j | j| jtƒ ¡I d H S r   )ro   rQ   rr   rq   rp   r&   rF   r   r   r   Úsend_connection_reuseconn¸  s    ÿzTrace.send_connection_reuseconn)rj   r   c                 Ã   s    | j j | j| jt|ƒ¡I d H S r   )ro   rR   rr   rq   rp   r'   ©r   rj   r   r   r   Úsend_dns_resolvehost_start½  s    ÿz Trace.send_dns_resolvehost_startc                 Ã   s    | j j | j| jt|ƒ¡I d H S r   )ro   rS   rr   rq   rp   r(   r�   r   r   r   Úsend_dns_resolvehost_endÂ  s    ÿzTrace.send_dns_resolvehost_endc                 Ã   s    | j j | j| jt|ƒ¡I d H S r   )ro   rT   rr   rq   rp   r)   r�   r   r   r   Úsend_dns_cache_hitÇ  s    ÿzTrace.send_dns_cache_hitc                 Ã   s    | j j | j| jt|ƒ¡I d H S r   )ro   rU   rr   rq   rp   r*   r�   r   r   r   Úsend_dns_cache_missÌ  s    ÿzTrace.send_dns_cache_missc                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )ro   r?   rr   rq   rp   r.   rs   r   r   r   Úsend_request_headersÑ  s
    
ýzTrace.send_request_headers)r   r   r   rW   r   r   rA   r`   r
   rt   rd   rv   rw   r   ry   rh   rz   r{   r|   r}   r~   r   r€   r‚   rƒ   r„   r…   r†   r   r   r   r   rl   Q  sZ   ûþ
þ
þúúúþrl   )+Útypesr   Útypingr   r   r   r   r   ÚattrZ	aiosignalr   Z	multidictr	   Zyarlr
   Zclient_reqrepr   Úclientr   Ztypedefsr   r   r   Ú__all__r   Úsr   r,   r-   r    r!   r+   r"   r#   r$   r%   r&   r'   r(   r)   r*   r.   rl   r   r   r   r   Ú<module>   s^   
 +			