0i2ddlZddlZddlmZddlZddlmZddlmZm Z m Z ddl m Z m Z mZmZddlmZddlmZddlmZmZdd lmZmZmZdd lmZmZdd lmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* ddl+Z+dd l,m-Z.dd l,m/Z/m0Z0ddl1m2Z2m3Z3m4Z4ddl6m7Z7e7rFddl8m9Z9ddl:m;Z;ddl,mm?Z?ddl@mAZAddl6mBZBddl6mCZCddl6mDZDddl6mEZEddlmFZFddlGmHZHmIZIdZJGddeZKdZLd ZMd!ZNd"ZOd#ZPy#e5$r edwxYw)$N)wraps)continue_trace)OP SPANSTATUSSPANDATA)$_DEFAULT_FAILED_REQUEST_STATUS_CODES_check_minimum_version Integration DidNotEnable) ignore_logger) track_session)_filter_headersrequest_body_within_bounds)BAGGAGE_HEADER_NAMESOURCE_FOR_STYLETransactionSource)should_propagate_traceadd_http_request_source) capture_internal_exceptionsensure_integration_enabledevent_from_exceptionlogger parse_url parse_versionreraisetransaction_from_functionHAS_REAL_CONTEXTVARSCONTEXTVARS_ERROR_MESSAGESENSITIVE_DATA_SUBSTITUTEAnnotatedValue) __version__) ClientSession TraceConfig) Application HTTPException UrlDispatcherzAIOHTTP not installed) TYPE_CHECKING)Request)UrlMappingMatchInfo)TraceRequestStartParamsTraceRequestEndParams)Set)SimpleNamespace)Any)Optional)Tuple)Union)ExcInfo)EventEventProcessor) handler_namemethod_and_path_patternc:eZdZdZdeZ deddZedZy)AioHttpIntegrationaiohttpz auto.http.)failed_request_status_codesc\|tvrtd|dtd||_||_y)Nz%Invalid value for transaction_style: z (must be in ))TRANSACTION_STYLE_VALUES ValueErrortransaction_style_failed_request_status_codes)selfr?r:s N/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/aiohttp.py__init__zAioHttpIntegration.__init__Ks8 $< <$&>@ "3,G)ctt}tt|tst dt ztdtjfd}|t_ tjtfd}|t_ tjttfd}|t_y)NzSThe aiohttp integration for Sentry requires Python 3.7+ or aiocontextvars package.zaiohttp.serverc Ktjjt}| ||g|i|d{St j |}tj 5}t|d5|j|j|jt|t|j}t|tj dt"j$tj&}tj(|d|i5  ||d{}  jD} |j-|  cdddcdddcdddS7-7B#t*$rC} |j-| j.| j.|j0vr t3d} ~ wt4j6t8f$r!|j;t<j>t@$rtCt3YwxYw#tF$rYwxYw#1swYnxYw dddn #1swYnxYwdddy#1swYyxYww)Nrequest) session_modezgeneric AIOHTTP request)opnamesourceoriginaiohttp_request)custom_sampling_context)$ sentry_sdk get_clientget_integrationr8weakrefrefisolation_scoper generate_propagation_contextclear_breadcrumbsadd_event_processor_make_request_processordictheadersrr HTTP_SERVERrROUTErLstart_transactionr%set_http_status status_coder@_capture_exceptionasyncioCancelledErrorConnectionResetError set_statusr CANCELLED ExceptionrstatusAttributeError) rArGargskwargs integration weak_requestscoperZ transactionresponseeresponse_status old_handles rBsentry_app_handlez8AioHttpIntegration.setup_once..sentry_app_handlems $//1AABTUK"'gGGGGG";;w/L++-"5yA668++---.El.ST"7??3G"0>>7066188#K$55#1BG0L;-7g-F'FH& I /7ooO(77H'G#BA.- H6(G, "'77 F!" #.#K#K!L!3 4! ' 6 68LM"'22:3G3GH!(;$%7%9:; .! !=#BAA.--s:IE*-I+I 9B#H5H E/*E- +E/0 H<H H5 I  I-E// H 8>F6 6AH H H H H HH HH( $H5, I 5H> :I  I IIc(K||d{}tjjt}||Sd} |jdk(rt |j }n_|jdk(rP|j}|jdxs|jd}dj|j|}|6tjj|t|j|S7#t$rYGwxYww)Nr5r6path formatterz{} {})rK)rOrPrQr8r?rhandlerget_infogetformatmethodrfget_current_scopeset_transaction_namer)rArGrvrkrJ route_infopatternold_urldispatcher_resolves rBsentry_urldispatcher_resolvezCAioHttpIntegration.setup_once..sentry_urldispatcher_resolves1w??B$//1AABTUK" D 00NB4RZZ@D 226OO!#J(nnV4S {8SG">>'..'BD,,.CC+K,I,IJD I1@  s4 DD1DBD;D D DDDct|jdxsd}t}|j|||d<|i|S)N trace_configs)listrycreate_trace_configappend)rirjclient_trace_configs trace_configold_client_session_inits rBinitz+AioHttpIntegration.setup_once..initsN$( ?(C(Ir#J .0L ' ' 5&:F? #*D;F; ;rD)rAIOHTTP_VERSIONr r8rr rr r$_handler&resolverr"rCr)versionrsrrrrrrs @@@rB setup_oncezAioHttpIntegration.setup_onceZs 017;#.0IJ  &' (( = (~0 $1$9$9! ( )  * 8!= "/"8"8 #$68O P < Q <"& rDN)r5) __name__ __module__ __qualname__ identifierrLrrC staticmethodrrrDrBr8r8Gs@J* &F) H%I H@&@&rDr8cd}d}t}|jj||jj||S)NcKtjjty|jj }d}t 5tt|jd}dddtjtj|d|r |jnttj}|jt j"||p|jd|j|jt j$|j&|jt j(|j*tj}t-|t|jrtj.j1|D]\}}t3j4dj7|||j|t8k(r:|j:j=t8r|j:|xxd |zz cc<z||j:|<||_y#1swYxYww) NF)sanitize )rIrJrLurl)spanzE[Tracing] Adding `{key}` header {value} to outgoing request to {url}.)keyvaluer,) rOrPrQr8r{upperrrstrr start_spanr HTTP_CLIENTrrLset_datar HTTP_METHOD HTTP_QUERYquery HTTP_FRAGMENTfragmentrr|iter_trace_propagation_headersrdebugrzrrZryr) sessiontrace_config_ctxparamsr{ parsed_urlrclientrrs rBon_request_startz-create_trace_config..on_request_starts  " 2 23E F N $$& ( *"3vzz?UCJ+$$~~z~~9RRT%,,   h**F3  ! MM% 0 MM(--z/?/? @ MM(00*2E2E F&&( !&#fjj/ :--/NNO [bbu&**c --&..2D2D'3NN3'3;6'*/FNN3' !%K+ *sAI!I2GII IcZK|jy|j}|jt|jj|j d|jj |jt5t|dddy#1swYyxYww)Nreason) rr^introrgrrfinishrr)rrrrs rBon_request_endz+create_trace_config..on_request_endsw  ( $$ S!7!789 h 6 67 ( * #D )+ * *sBB+ B B+B($B+)r#rrr)rrrs rBrrsE-%^ *=L!!(()9:&&~6 rDcfd}|S)Nc}||St5|jdi}|jd|j|j|d<|j |d<|j |d<d|ji|d<tt|j|d<t||d <ddd|S#1swY|SxYw) NrGz://r query_stringr{ REMOTE_ADDRenvrZdata) r setdefaultschemehostrurr{remoterrYrZget_aiohttp_request_data)eventhintrG request_inforls rBaiohttp_processorz2_make_request_processor..aiohttp_processor's . ?L ( * ++Ir:L  #L  ,3+?+?L (%,^^L "#0'.."AL &5d7??6K&LL # $rs )66 :- U    062EE!+=F#%(7GT&T&nDN F SQ 0 . //0s 2C88D