
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    'â7`8  ã                   @   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(G d2d3„ d3ƒZ)dS )4é    )ÚSimpleNamespace)ÚTYPE_CHECKINGÚ	AwaitableÚOptionalÚTypeÚTypeVarN)ÚCIMultiDict)ÚURLé   )ÚClientResponse)ÚSignal)ÚProtocol)ÚClientSessionÚ_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   úB/opt/alt/python38/lib64/python3.8/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Ú TraceResponseChunkReceivedParamsc                   @   sZ  e Zd ZdZefee ddœdd„Zd9e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dS ):r   zJFirst-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 | ƒ| _|| _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Ú_trace_config_ctx_factory)r   r.   r   r   r   Ú__init__4   s\    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿzTraceConfig.__init__)Útrace_request_ctxr   c                 C   s   | j |d�S )z( Return a new trace_config_ctx instance )r@   )r>   )r   r@   r   r   r   Útrace_config_ctxg   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 ¡  d S r   )r/   Úfreezer0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   ©r   r   r   r   rC   m   s    













zTraceConfig.freezez0Signal[_SignalCallback[TraceRequestStartParams]]c                 C   s   | j S r   )r/   rD   r   r   r   Úon_request_start~   s    zTraceConfig.on_request_startz4Signal[_SignalCallback[TraceRequestChunkSentParams]]c                 C   s   | j S r   )r0   rD   r   r   r   Úon_request_chunk_sent‚   s    z!TraceConfig.on_request_chunk_sentz9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]c                 C   s   | j S r   )r1   rD   r   r   r   Úon_response_chunk_receivedˆ   s    z&TraceConfig.on_response_chunk_receivedz.Signal[_SignalCallback[TraceRequestEndParams]]c                 C   s   | j S r   )r2   rD   r   r   r   Úon_request_endŽ   s    zTraceConfig.on_request_endz4Signal[_SignalCallback[TraceRequestExceptionParams]]c                 C   s   | j S r   )r3   rD   r   r   r   Úon_request_exception’   s    z TraceConfig.on_request_exceptionz3Signal[_SignalCallback[TraceRequestRedirectParams]]c                 C   s   | j S r   )r4   rD   r   r   r   Úon_request_redirect˜   s    zTraceConfig.on_request_redirectz9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]c                 C   s   | j S r   )r5   rD   r   r   r   Úon_connection_queued_startž   s    z&TraceConfig.on_connection_queued_startz7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]c                 C   s   | j S r   )r6   rD   r   r   r   Úon_connection_queued_end¤   s    z$TraceConfig.on_connection_queued_endz9Signal[_SignalCallback[TraceConnectionCreateStartParams]]c                 C   s   | j S r   )r7   rD   r   r   r   Úon_connection_create_startª   s    z&TraceConfig.on_connection_create_startz7Signal[_SignalCallback[TraceConnectionCreateEndParams]]c                 C   s   | j S r   )r8   rD   r   r   r   Úon_connection_create_end°   s    z$TraceConfig.on_connection_create_endz7Signal[_SignalCallback[TraceConnectionReuseconnParams]]c                 C   s   | j S r   )r9   rD   r   r   r   Úon_connection_reuseconn¶   s    z#TraceConfig.on_connection_reuseconnz7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]c                 C   s   | j S r   )r:   rD   r   r   r   Úon_dns_resolvehost_start¼   s    z$TraceConfig.on_dns_resolvehost_startz5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]c                 C   s   | j S r   )r;   rD   r   r   r   Úon_dns_resolvehost_endÂ   s    z"TraceConfig.on_dns_resolvehost_endz/Signal[_SignalCallback[TraceDnsCacheHitParams]]c                 C   s   | j S r   )r<   rD   r   r   r   Úon_dns_cache_hitÈ   s    zTraceConfig.on_dns_cache_hitz0Signal[_SignalCallback[TraceDnsCacheMissParams]]c                 C   s   | j S r   )r=   rD   r   r   r   Úon_dns_cache_missÌ   s    zTraceConfig.on_dns_cache_miss)N)r   r   r   Ú__doc__r   r   r?   r   rA   rC   ÚpropertyrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   r   r   r   r   0   sj   ÿþ4 ÿþþþþþþþþþþþþ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   z1 Parameters sent by the `on_request_start` signalÚmethodÚurlúCIMultiDict[str]ÚheadersN)r   r   r   rT   Ú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,   z6 Parameters sent by the `on_request_chunk_sent` signalrX   rY   ÚchunkN©r   r   r   rT   r\   r]   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` signalrX   rY   r^   Nr_   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` signalrX   rY   rZ   r[   ÚresponseN©r   r   r   rT   r\   r]   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!   z5 Parameters sent by the `on_request_exception` signalrX   rY   rZ   r[   Ú	exceptionN)r   r   r   rT   r\   r]   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+   z4 Parameters sent by the `on_request_redirect` signalrX   rY   rZ   r[   ra   Nrb   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   rT   r   r   r   r   r"   
  s   r"   c                   @   s   e Zd ZdZdS )r#   z9 Parameters sent by the `on_connection_queued_end` signalNre   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` signalNre   r   r   r   r   r$     s   r$   c                   @   s   e Zd ZdZdS )r%   z9 Parameters sent by the `on_connection_create_end` signalNre   r   r   r   r   r%     s   r%   c                   @   s   e Zd ZdZdS )r&   z8 Parameters sent by the `on_connection_reuseconn` signalNre   r   r   r   r   r&     s   r&   c                   @   s   e Zd ZU dZeed< dS )r'   z9 Parameters sent by the `on_dns_resolvehost_start` signalÚhostN©r   r   r   rT   r\   r]   r   r   r   r   r'   #  s   
r'   c                   @   s   e Zd ZU dZeed< dS )r(   z7 Parameters sent by the `on_dns_resolvehost_end` signalrf   Nrg   r   r   r   r   r(   *  s   
r(   c                   @   s   e Zd ZU dZeed< dS )r)   z1 Parameters sent by the `on_dns_cache_hit` signalrf   Nrg   r   r   r   r   r)   1  s   
r)   c                   @   s   e Zd ZU dZeed< dS )r*   z2 Parameters sent by the `on_dns_cache_miss` signalrf   Nrg   r   r   r   r   r*   8  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dS ),ÚTracezcInternal class used to keep together the main dependencies used
    at the moment of send a signal.r   N)ÚsessionÚtrace_configrA   r   c                 C   s   || _ || _|| _d S r   )Ú_trace_configÚ_trace_config_ctxÚ_session)r   ri   rj   rA   r   r   r   r?   C  s    zTrace.__init__rZ   )rX   rY   r[   r   c                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )rk   rE   Úsendrm   rl   r   )r   rX   rY   r[   r   r   r   Úsend_request_startM  s
    
ýzTrace.send_request_start)rX   rY   r^   r   c                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )rk   rF   rn   rm   rl   r,   ©r   rX   rY   r^   r   r   r   Úsend_request_chunk_sentV  s
    
ýzTrace.send_request_chunk_sentc                 Ã   s$   | j j | j| jt|||ƒ¡I d H S r   )rk   rG   rn   rm   rl   r-   rp   r   r   r   Úsend_response_chunk_received_  s
    
ýz"Trace.send_response_chunk_received)rX   rY   r[   ra   r   c              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )rk   rH   rn   rm   rl   r    ©r   rX   rY   r[   ra   r   r   r   Úsend_request_endh  s
    ýzTrace.send_request_end)rX   rY   r[   rc   r   c              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )rk   rI   rn   rm   rl   r!   )r   rX   rY   r[   rc   r   r   r   Úsend_request_exceptionu  s
    ýzTrace.send_request_exceptionc              	   Ã   s&   | j j | j| jt||||ƒ¡I d H S r   )rk   r4   rn   rm   rl   r+   rs   r   r   r   Úsend_request_redirect‚  s
    ýzTrace.send_request_redirectrB   c                 Ã   s   | j j | j| jtƒ ¡I d H S r   )rk   rK   rn   rm   rl   r"   rD   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   )rk   rL   rn   rm   rl   r#   rD   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   )rk   rM   rn   rm   rl   r$   rD   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   )rk   rN   rn   rm   rl   r%   rD   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   )rk   rO   rn   rm   rl   r&   rD   r   r   r   Úsend_connection_reuseconn£  s
      ÿzTrace.send_connection_reuseconn)rf   r   c                 Ã   s    | j j | j| jt|ƒ¡I d H S r   )rk   rP   rn   rm   rl   r'   ©r   rf   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   )rk   rQ   rn   rm   rl   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   )rk   rR   rn   rm   rl   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   )rk   rS   rn   rm   rl   r*   r|   r   r   r   Úsend_dns_cache_miss·  s
      ÿzTrace.send_dns_cache_miss)r   r   r   rT   r   r   r?   r\   r	   ro   r`   rq   rr   r   rt   rd   ru   rv   rw   rx   ry   rz   r{   r}   r~   r   r€   r   r   r   r   rh   ?  s`   û  þ
  þ
  þúúúrh   )*Útypesr   Útypingr   r   r   r   r   ÚattrZ	multidictr   Zyarlr	   Zclient_reqrepr   Zsignalsr   Ztyping_extensionsr   Zclientr   r   r   Ú__all__r   Úsr   r,   r-   r    r!   r+   r"   r#   r$   r%   r&   r'   r(   r)   r*   rh   r   r   r   r   Ú<module>   sZ   
 "			