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)Z 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.freezer/r0r1r2r3r4r5r6r7r8r9r:r;r<rrrrrBms              zTraceConfig.freezez0Signal[_SignalCallback[TraceRequestStartParams]]cCs|jSr)r.rCrrron_request_start~szTraceConfig.on_request_startz4Signal[_SignalCallback[TraceRequestChunkSentParams]]cCs|jSr)r/rCrrron_request_chunk_sentsz!TraceConfig.on_request_chunk_sentz9Signal[_SignalCallback[TraceResponseChunkReceivedParams]]cCs|jSr)r0rCrrron_response_chunk_receivedsz&TraceConfig.on_response_chunk_receivedz.Signal[_SignalCallback[TraceRequestEndParams]]cCs|jSr)r1rCrrron_request_endszTraceConfig.on_request_endz4Signal[_SignalCallback[TraceRequestExceptionParams]]cCs|jSr)r2rCrrron_request_exceptionsz TraceConfig.on_request_exceptionz3Signal[_SignalCallback[TraceRequestRedirectParams]]cCs|jSr)r3rCrrron_request_redirectszTraceConfig.on_request_redirectz9Signal[_SignalCallback[TraceConnectionQueuedStartParams]]cCs|jSr)r4rCrrron_connection_queued_startsz&TraceConfig.on_connection_queued_startz7Signal[_SignalCallback[TraceConnectionQueuedEndParams]]cCs|jSr)r5rCrrron_connection_queued_endsz$TraceConfig.on_connection_queued_endz9Signal[_SignalCallback[TraceConnectionCreateStartParams]]cCs|jSr)r6rCrrron_connection_create_startsz&TraceConfig.on_connection_create_startz7Signal[_SignalCallback[TraceConnectionCreateEndParams]]cCs|jSr)r7rCrrron_connection_create_endsz$TraceConfig.on_connection_create_endz7Signal[_SignalCallback[TraceConnectionReuseconnParams]]cCs|jSr)r8rCrrron_connection_reuseconnsz#TraceConfig.on_connection_reuseconnz7Signal[_SignalCallback[TraceDnsResolveHostStartParams]]cCs|jSr)r9rCrrron_dns_resolvehost_startsz$TraceConfig.on_dns_resolvehost_startz5Signal[_SignalCallback[TraceDnsResolveHostEndParams]]cCs|jSr)r:rCrrron_dns_resolvehost_endsz"TraceConfig.on_dns_resolvehost_endz/Signal[_SignalCallback[TraceDnsCacheHitParams]]cCs|jSr)r;rCrrron_dns_cache_hitszTraceConfig.on_dns_cache_hitz0Signal[_SignalCallback[TraceDnsCacheMissParams]]cCs|jSr)r<rCrrron_dns_cache_missszTraceConfig.on_dns_cache_miss)N)rrr__doc__rrr>rr@rBpropertyrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrrrrr0sj 4 r)Z auto_attribsfrozenslotsc@s*eZdZUdZeed<eed<ded<dS)rz1 Parameters sent by the `on_request_start` signalmethodurlCIMultiDict[str]headersN)rrrrSstr__annotations__r rrrrrs rc@s*eZdZUdZeed<eed<eed<dS)r+z6 Parameters sent by the `on_request_chunk_sent` signalrWrXchunkNrrrrSr[r\r bytesrrrrr+s r+c@s*eZdZUdZeed<eed<eed<dS)r,z; Parameters sent by the `on_response_chunk_received` signalrWrXr]Nr^rrrrr,s r,c@s2eZdZUdZeed<eed<ded<eed<dS)rz/ Parameters sent by the `on_request_end` signalrWrXrYrZresponseNrrrrSr[r\r r rrrrrs rc@s2eZdZUdZeed<eed<ded<eed<dS)r z5 Parameters sent by the `on_request_exception` signalrWrXrYrZ exceptionN)rrrrSr[r\r BaseExceptionrrrrr s r c@s2eZdZUdZeed<eed<ded<eed<dS)r*z4 Parameters sent by the `on_request_redirect` signalrWrXrYrZr`Nrarrrrr*s r*c@seZdZdZdS)r!z; Parameters sent by the `on_connection_queued_start` signalNrrrrSrrrrr! sr!c@seZdZdZdS)r"z9 Parameters sent by the `on_connection_queued_end` signalNrdrrrrr"sr"c@seZdZdZdS)r#z; Parameters sent by the `on_connection_create_start` signalNrdrrrrr#sr#c@seZdZdZdS)r$z9 Parameters sent by the `on_connection_create_end` signalNrdrrrrr$sr$c@seZdZdZdS)r%z8 Parameters sent by the `on_connection_reuseconn` signalNrdrrrrr%sr%c@seZdZUdZeed<dS)r&z9 Parameters sent by the `on_dns_resolvehost_start` signalhostNrrrrSr[r\rrrrr&#s r&c@seZdZUdZeed<dS)r'z7 Parameters sent by the `on_dns_resolvehost_end` signalreNrfrrrrr'*s r'c@seZdZUdZeed<dS)r(z1 Parameters sent by the `on_dns_cache_hit` signalreNrfrrrrr(1s r(c@seZdZUdZeed<dS)r)z2 Parameters sent by the `on_dns_cache_miss` signalreNrfrrrrr)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||_||_||_dSr) _trace_config_trace_config_ctx_session)rrhrir@rrrr>CszTrace.__init__rY)rWrXrZrcs$|jj|j|jt|||IdHSr)rjrDsendrlrkr)rrWrXrZrrrsend_request_startMs  zTrace.send_request_start)rWrXr]rcs$|jj|j|jt|||IdHSr)rjrErmrlrkr+rrWrXr]rrrsend_request_chunk_sentVs  zTrace.send_request_chunk_sentcs$|jj|j|jt|||IdHSr)rjrFrmrlrkr,rorrrsend_response_chunk_received_s  z"Trace.send_response_chunk_received)rWrXrZr`rc s&|jj|j|jt||||IdHSr)rjrGrmrlrkrrrWrXrZr`rrrsend_request_endhs  zTrace.send_request_end)rWrXrZrbrc s&|jj|j|jt||||IdHSr)rjrHrmrlrkr )rrWrXrZrbrrrsend_request_exceptionus  zTrace.send_request_exceptionc s&|jj|j|jt||||IdHSr)rjr3rmrlrkr*rrrrrsend_request_redirects  zTrace.send_request_redirectrAcs|jj|j|jtIdHSr)rjrJrmrlrkr!rCrrrsend_connection_queued_starts z"Trace.send_connection_queued_startcs|jj|j|jtIdHSr)rjrKrmrlrkr"rCrrrsend_connection_queued_ends z Trace.send_connection_queued_endcs|jj|j|jtIdHSr)rjrLrmrlrkr#rCrrrsend_connection_create_starts z"Trace.send_connection_create_startcs|jj|j|jtIdHSr)rjrMrmrlrkr$rCrrrsend_connection_create_ends z Trace.send_connection_create_endcs|jj|j|jtIdHSr)rjrNrmrlrkr%rCrrrsend_connection_reuseconns zTrace.send_connection_reuseconn)rercs |jj|j|jt|IdHSr)rjrOrmrlrkr&rrerrrsend_dns_resolvehost_starts z Trace.send_dns_resolvehost_startcs |jj|j|jt|IdHSr)rjrPrmrlrkr'r{rrrsend_dns_resolvehost_ends zTrace.send_dns_resolvehost_endcs |jj|j|jt|IdHSr)rjrQrmrlrkr(r{rrrsend_dns_cache_hits zTrace.send_dns_cache_hitcs |jj|j|jt|IdHSr)rjrRrmrlrkr)r{rrrsend_dns_cache_misss zTrace.send_dns_cache_miss)rrrrSrrr>r[r rnr_rprqr rsrcrtrurvrwrxryrzr|r}r~rrrrrrg?s`       rg)*typesrtypingrrrrrattrZ multidictrZyarlr Z client_reqrepr Zsignalsr Ztyping_extensionsr Zclientrrr__all__rsrr+r,rr r*r!r"r#r$r%r&r'r(r)rgrrrrsZ         "