U '7`8@sddlmZddlmZmZmZmZmZddlZddl m Z ddl m Z ddl mZddlmZerdd lmZdd lmZed d d ZGdddeeZdZGdddZejd d d dGdddZejd d d dGdddZejd d d dGdddZejd d d dGdddZejd d d dGdddZejd d d dGdddZejd d d dGd d!d!Z ejd d d dGd"d#d#Z!ejd d d dGd$d%d%Z"ejd d d dGd&d'd'Z#ejd d d dGd(d)d)Z$ejd d d dGd*d+d+Z%ejd d d dGd,d-d-Z&ejd d d dGd.d/d/Z'ejd d d dGd0d1d1Z(Gd2d3d3Z)dS)4)SimpleNamespace) TYPE_CHECKING AwaitableOptionalTypeTypeVarN) CIMultiDict)URL)ClientResponse)Signal)Protocol) ClientSession_ParamT_contraT) contravariantc@s$eZdZeeeeddddZdS)_SignalCallbackN)_SignalCallback__client_session!_SignalCallback__trace_config_ctx_SignalCallback__paramsreturncCsdSN)selfrrrrrB/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/tracing.py__call__sz_SignalCallback.__call__)__name__ __module__ __qualname__rrrrrrrrrrs r) TraceConfigTraceRequestStartParamsTraceRequestEndParamsTraceRequestExceptionParams TraceConnectionQueuedStartParamsTraceConnectionQueuedEndParams TraceConnectionCreateStartParamsTraceConnectionCreateEndParamsTraceConnectionReuseconnParamsTraceDnsResolveHostStartParamsTraceDnsResolveHostEndParamsTraceDnsCacheHitParamsTraceDnsCacheMissParamsTraceRequestRedirectParamsTraceRequestChunkSentParams TraceResponseChunkReceivedParamsc@sZeZdZdZefeeddddZd9eeedddZdd d d Z e d d d dZ e dd ddZ e dd ddZ e dd ddZe dd ddZe dd ddZe dd dd Ze d!d d"d#Ze d$d d%d&Ze d'd d(d)Ze d*d d+d,Ze d-d d.d/Ze d0d d1d2Ze d3d d4d5Ze d6d d7d8ZdS):rzJFirst-class used to trace requests launched via ClientSession objects.N)trace_config_ctx_factoryrcCst||_t||_t||_t||_t||_t||_t||_t||_t||_ t||_ t||_ t||_ t||_ t||_t||_||_dSr)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)rr.rrr__init__4s\zTraceConfig.__init__)trace_request_ctxrcCs |j|dS)z( Return a new trace_config_ctx instance )r@)r>)rr@rrrtrace_config_ctxgszTraceConfig.trace_config_ctxrcCs|j|j|j|j|j|j|j|j|j |j |j |j |j |j|jdSr)r/freezer0r1r2r3r4r5r6r7r8r9r:r;r<r=rrrrrCms              zTraceConfig.freezez0Signal[_SignalCallback[TraceRequestStartParams]]cCs|jSr)r/rDrrron_request_start~szTraceConfig.on_request_startz4Signal[_SignalCallback[TraceRequestChunkSentParams]]cCs|jSr)r0rDrrron_request_chunk_sentsz!TraceConfig.on_request_chunk_sentz9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]cCs|jSr)r1rDrrron_response_chunk_receivedsz&TraceConfig.on_response_chunk_receivedz.Signal[_SignalCallback[TraceRequestEndParams]]cCs|jSr)r2rDrrron_request_endszTraceConfig.on_request_endz4Signal[_SignalCallback[TraceRequestExceptionParams]]cCs|jSr)r3rDrrron_request_exceptionsz TraceConfig.on_request_exceptionz3Signal[_SignalCallback[TraceRequestRedirectParams]]cCs|jSr)r4rDrrron_request_redirectszTraceConfig.on_request_redirectz9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]cCs|jSr)r5rDrrron_connection_queued_startsz&TraceConfig.on_connection_queued_startz7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]cCs|jSr)r6rDrrron_connection_queued_endsz$TraceConfig.on_connection_queued_endz9Signal[_SignalCallback[TraceConnectionCreateStartParams]]cCs|jSr)r7rDrrron_connection_create_startsz&TraceConfig.on_connection_create_startz7Signal[_SignalCallback[TraceConnectionCreateEndParams]]cCs|jSr)r8rDrrron_connection_create_endsz$TraceConfig.on_connection_create_endz7Signal[_SignalCallback[TraceConnectionReuseconnParams]]cCs|jSr)r9rDrrron_connection_reuseconnsz#TraceConfig.on_connection_reuseconnz7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]cCs|jSr)r:rDrrron_dns_resolvehost_startsz$TraceConfig.on_dns_resolvehost_startz5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]cCs|jSr)r;rDrrron_dns_resolvehost_endsz"TraceConfig.on_dns_resolvehost_endz/Signal[_SignalCallback[TraceDnsCacheHitParams]]cCs|jSr)r<rDrrron_dns_cache_hitszTraceConfig.on_dns_cache_hitz0Signal[_SignalCallback[TraceDnsCacheMissParams]]cCs|jSr)r=rDrrron_dns_cache_missszTraceConfig.on_dns_cache_miss)N)rrr__doc__rrr?rrArCpropertyrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrrrrr0sj 4 r)Z auto_attribsfrozenslotsc@s*eZdZUdZeed<eed<ded<dS)rz1 Parameters sent by the `on_request_start` signalmethodurlCIMultiDict[str]headersN)rrrrTstr__annotations__r rrrrrs rc@s*eZdZUdZeed<eed<eed<dS)r,z6 Parameters sent by the `on_request_chunk_sent` signalrXrYchunkNrrrrTr\r]r bytesrrrrr,s r,c@s*eZdZUdZeed<eed<eed<dS)r-z; Parameters sent by the `on_response_chunk_received` signalrXrYr^Nr_rrrrr-s r-c@s2eZdZUdZeed<eed<ded<eed<dS)r z/ Parameters sent by the `on_request_end` signalrXrYrZr[responseNrrrrTr\r]r r rrrrr s r c@s2eZdZUdZeed<eed<ded<eed<dS)r!z5 Parameters sent by the `on_request_exception` signalrXrYrZr[ exceptionN)rrrrTr\r]r BaseExceptionrrrrr!s r!c@s2eZdZUdZeed<eed<ded<eed<dS)r+z4 Parameters sent by the `on_request_redirect` signalrXrYrZr[raNrbrrrrr+s r+c@seZdZdZdS)r"z; Parameters sent by the `on_connection_queued_start` signalNrrrrTrrrrr" sr"c@seZdZdZdS)r#z9 Parameters sent by the `on_connection_queued_end` signalNrerrrrr#sr#c@seZdZdZdS)r$z; Parameters sent by the `on_connection_create_start` signalNrerrrrr$sr$c@seZdZdZdS)r%z9 Parameters sent by the `on_connection_create_end` signalNrerrrrr%sr%c@seZdZdZdS)r&z8 Parameters sent by the `on_connection_reuseconn` signalNrerrrrr&sr&c@seZdZUdZeed<dS)r'z9 Parameters sent by the `on_dns_resolvehost_start` signalhostNrrrrTr\r]rrrrr'#s r'c@seZdZUdZeed<dS)r(z7 Parameters sent by the `on_dns_resolvehost_end` signalrfNrgrrrrr(*s r(c@seZdZUdZeed<dS)r)z1 Parameters sent by the `on_dns_cache_hit` signalrfNrgrrrrr)1s r)c@seZdZUdZeed<dS)r*z2 Parameters sent by the `on_dns_cache_miss` signalrfNrgrrrrr*8s r*c@s(eZdZdZdeeddddZeedddd d Z eee dd d d Z eee dd ddZ eede ddddZeededdddZeede ddddZddddZddddZddddZdddd Zddd!d"Zedd#d$d%Zedd#d&d'Zedd#d(d)Zedd#d*d+ZdS),TracezcInternal class used to keep together the main dependencies used at the moment of send a signal.rN)session trace_configrArcCs||_||_||_dSr) _trace_config_trace_config_ctx_session)rrirjrArrrr?CszTrace.__init__rZ)rXrYr[rcs$|jj|j|jt|||IdHSr)rkrEsendrmrlr)rrXrYr[rrrsend_request_startMs  zTrace.send_request_start)rXrYr^rcs$|jj|j|jt|||IdHSr)rkrFrnrmrlr,rrXrYr^rrrsend_request_chunk_sentVs  zTrace.send_request_chunk_sentcs$|jj|j|jt|||IdHSr)rkrGrnrmrlr-rprrrsend_response_chunk_received_s  z"Trace.send_response_chunk_received)rXrYr[rarc s&|jj|j|jt||||IdHSr)rkrHrnrmrlr rrXrYr[rarrrsend_request_endhs  zTrace.send_request_end)rXrYr[rcrc s&|jj|j|jt||||IdHSr)rkrIrnrmrlr!)rrXrYr[rcrrrsend_request_exceptionus  zTrace.send_request_exceptionc s&|jj|j|jt||||IdHSr)rkr4rnrmrlr+rsrrrsend_request_redirects  zTrace.send_request_redirectrBcs|jj|j|jtIdHSr)rkrKrnrmrlr"rDrrrsend_connection_queued_starts z"Trace.send_connection_queued_startcs|jj|j|jtIdHSr)rkrLrnrmrlr#rDrrrsend_connection_queued_ends z Trace.send_connection_queued_endcs|jj|j|jtIdHSr)rkrMrnrmrlr$rDrrrsend_connection_create_starts z"Trace.send_connection_create_startcs|jj|j|jtIdHSr)rkrNrnrmrlr%rDrrrsend_connection_create_ends z Trace.send_connection_create_endcs|jj|j|jtIdHSr)rkrOrnrmrlr&rDrrrsend_connection_reuseconns zTrace.send_connection_reuseconn)rfrcs |jj|j|jt|IdHSr)rkrPrnrmrlr'rrfrrrsend_dns_resolvehost_starts z Trace.send_dns_resolvehost_startcs |jj|j|jt|IdHSr)rkrQrnrmrlr(r|rrrsend_dns_resolvehost_ends zTrace.send_dns_resolvehost_endcs |jj|j|jt|IdHSr)rkrRrnrmrlr)r|rrrsend_dns_cache_hits zTrace.send_dns_cache_hitcs |jj|j|jt|IdHSr)rkrSrnrmrlr*r|rrrsend_dns_cache_misss zTrace.send_dns_cache_miss)rrrrTrrr?r\r ror`rqrrr rtrdrurvrwrxryrzr{r}r~rrrrrrrh?s`       rh)*typesrtypingrrrrrattrZ multidictrZyarlr Z client_reqrepr Zsignalsr Ztyping_extensionsr Zclientrrr__all__rsrr,r-r r!r+r"r#r$r%r&r'r(r)r*rhrrrrsZ         "