B `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__paramsreturncCsdS)N)selfrrrrrj/private/var/folders/7j/8686xlfs15q3tgljmghtvg0r0000gn/T/pip-target-isidps9b/lib/python/aiohttp/tracing.py__call__sz_SignalCallback.__call__)__name__ __module__ __qualname__rrrrrrrrrrsr) 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||_||_dS)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_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_ctx)rcCs|j|j|j|j|j|j|j|j|j |j |j |j |j |j|jdS)N)r.freezer/r0r1r2r3r4r5r6r7r8r9r:r;r<)rrrrrAms              zTraceConfig.freezez0Signal[_SignalCallback[TraceRequestStartParams]]cCs|jS)N)r.)rrrron_request_start~szTraceConfig.on_request_startz4Signal[_SignalCallback[TraceRequestChunkSentParams]]cCs|jS)N)r/)rrrron_request_chunk_sentsz!TraceConfig.on_request_chunk_sentz9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]cCs|jS)N)r0)rrrron_response_chunk_receivedsz&TraceConfig.on_response_chunk_receivedz.Signal[_SignalCallback[TraceRequestEndParams]]cCs|jS)N)r1)rrrron_request_endszTraceConfig.on_request_endz4Signal[_SignalCallback[TraceRequestExceptionParams]]cCs|jS)N)r2)rrrron_request_exceptionsz TraceConfig.on_request_exceptionz3Signal[_SignalCallback[TraceRequestRedirectParams]]cCs|jS)N)r3)rrrron_request_redirectszTraceConfig.on_request_redirectz9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]cCs|jS)N)r4)rrrron_connection_queued_startsz&TraceConfig.on_connection_queued_startz7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]cCs|jS)N)r5)rrrron_connection_queued_endsz$TraceConfig.on_connection_queued_endz9Signal[_SignalCallback[TraceConnectionCreateStartParams]]cCs|jS)N)r6)rrrron_connection_create_startsz&TraceConfig.on_connection_create_startz7Signal[_SignalCallback[TraceConnectionCreateEndParams]]cCs|jS)N)r7)rrrron_connection_create_endsz$TraceConfig.on_connection_create_endz7Signal[_SignalCallback[TraceConnectionReuseconnParams]]cCs|jS)N)r8)rrrron_connection_reuseconnsz#TraceConfig.on_connection_reuseconnz7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]cCs|jS)N)r9)rrrron_dns_resolvehost_startsz$TraceConfig.on_dns_resolvehost_startz5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]cCs|jS)N)r:)rrrron_dns_resolvehost_endsz"TraceConfig.on_dns_resolvehost_endz/Signal[_SignalCallback[TraceDnsCacheHitParams]]cCs|jS)N)r;)rrrron_dns_cache_hitszTraceConfig.on_dns_cache_hitz0Signal[_SignalCallback[TraceDnsCacheMissParams]]cCs|jS)N)r<)rrrron_dns_cache_missszTraceConfig.on_dns_cache_miss)N)rrr__doc__rrr>rr@rApropertyrBrCrDrErFrGrHrIrJrKrLrMrNrOrPrrrrr0sH 2r)Z auto_attribsfrozenslotsc@s*eZdZUdZeed<eed<ded<dS)rz1 Parameters sent by the `on_request_start` signalmethodurlzCIMultiDict[str]headersN)rrrrQstr__annotations__r rrrrrs rc@s*eZdZUdZeed<eed<eed<dS)r+z6 Parameters sent by the `on_request_chunk_sent` signalrUrVchunkN)rrrrQrXrYr bytesrrrrr+s r+c@s*eZdZUdZeed<eed<eed<dS)r,z; Parameters sent by the `on_response_chunk_received` signalrUrVrZN)rrrrQrXrYr r[rrrrr,s r,c@s2eZdZUdZeed<eed<ded<eed<dS)rz/ Parameters sent by the `on_request_end` signalrUrVzCIMultiDict[str]rWresponseN)rrrrQrXrYr r rrrrrs rc@s2eZdZUdZeed<eed<ded<eed<dS)r z5 Parameters sent by the `on_request_exception` signalrUrVzCIMultiDict[str]rW exceptionN)rrrrQrXrYr BaseExceptionrrrrr s r c@s2eZdZUdZeed<eed<ded<eed<dS)r*z4 Parameters sent by the `on_request_redirect` signalrUrVzCIMultiDict[str]rWr\N)rrrrQrXrYr r rrrrr*s r*c@seZdZdZdS)r!z; Parameters sent by the `on_connection_queued_start` signalN)rrrrQrrrrr! sr!c@seZdZdZdS)r"z9 Parameters sent by the `on_connection_queued_end` signalN)rrrrQrrrrr"sr"c@seZdZdZdS)r#z; Parameters sent by the `on_connection_create_start` signalN)rrrrQrrrrr#sr#c@seZdZdZdS)r$z9 Parameters sent by the `on_connection_create_end` signalN)rrrrQrrrrr$sr$c@seZdZdZdS)r%z8 Parameters sent by the `on_connection_reuseconn` signalN)rrrrQrrrrr%sr%c@seZdZUdZeed<dS)r&z9 Parameters sent by the `on_dns_resolvehost_start` signalhostN)rrrrQrXrYrrrrr&#s r&c@seZdZUdZeed<dS)r'z7 Parameters sent by the `on_dns_resolvehost_end` signalr_N)rrrrQrXrYrrrrr'*s r'c@seZdZUdZeed<dS)r(z1 Parameters sent by the `on_dns_cache_hit` signalr_N)rrrrQrXrYrrrrr(1s r(c@seZdZUdZeed<dS)r)z2 Parameters sent by the `on_dns_cache_miss` signalr_N)rrrrQrXrYrrrrr)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_configr@rcCs||_||_||_dS)N) _trace_config_trace_config_ctx_session)rrarbr@rrrr>CszTrace.__init__zCIMultiDict[str])rUrVrWrcs$|jj|j|jt|||IdHS)N)rcrBsendrerdr)rrUrVrWrrrsend_request_startMszTrace.send_request_start)rUrVrZrcs$|jj|j|jt|||IdHS)N)rcrCrfrerdr+)rrUrVrZrrrsend_request_chunk_sentVszTrace.send_request_chunk_sentcs$|jj|j|jt|||IdHS)N)rcrDrfrerdr,)rrUrVrZrrrsend_response_chunk_received_sz"Trace.send_response_chunk_received)rUrVrWr\rc s&|jj|j|jt||||IdHS)N)rcrErfrerdr)rrUrVrWr\rrrsend_request_endhszTrace.send_request_end)rUrVrWr]rc s&|jj|j|jt||||IdHS)N)rcrFrfrerdr )rrUrVrWr]rrrsend_request_exceptionuszTrace.send_request_exceptionc s&|jj|j|jt||||IdHS)N)rcr3rfrerdr*)rrUrVrWr\rrrsend_request_redirectszTrace.send_request_redirect)rcs|jj|j|jtIdHS)N)rcrHrfrerdr!)rrrrsend_connection_queued_startsz"Trace.send_connection_queued_startcs|jj|j|jtIdHS)N)rcrIrfrerdr")rrrrsend_connection_queued_endsz Trace.send_connection_queued_endcs|jj|j|jtIdHS)N)rcrJrfrerdr#)rrrrsend_connection_create_startsz"Trace.send_connection_create_startcs|jj|j|jtIdHS)N)rcrKrfrerdr$)rrrrsend_connection_create_endsz Trace.send_connection_create_endcs|jj|j|jtIdHS)N)rcrLrfrerdr%)rrrrsend_connection_reuseconnszTrace.send_connection_reuseconn)r_rcs |jj|j|jt|IdHS)N)rcrMrfrerdr&)rr_rrrsend_dns_resolvehost_startsz Trace.send_dns_resolvehost_startcs |jj|j|jt|IdHS)N)rcrNrfrerdr')rr_rrrsend_dns_resolvehost_endszTrace.send_dns_resolvehost_endcs |jj|j|jt|IdHS)N)rcrOrfrerdr()rr_rrrsend_dns_cache_hitszTrace.send_dns_cache_hitcs |jj|j|jt|IdHS)N)rcrPrfrerdr))rr_rrrsend_dns_cache_missszTrace.send_dns_cache_miss)rrrrQrrr>rXr rgr[rhrir rjr^rkrlrmrnrorprqrrrsrtrurrrrr`?sF   r`)*typesrtypingrrrrrattrZ multidictrZyarlr Z client_reqrepr Zsignalsr Ztyping_extensionsr clientrrr__all__rsrr+r,rr r*r!r"r#r$r%r&r'r(r)r`rrrrs<         "