0iddlZddlZddlmZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZmZmZdd lmZerdd lmZdd lmZdd lmZmZ ddlZ dd lmZmZm Z m!Z!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+dZ-GddeZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5y#e$rdZYRwxYw#e$r ddl,m+Z+Y=wxYw#e$r edwxYw)N)wraps) DidNotEnable Integration)_filter_headers)SentryAsgiMiddleware)should_send_default_pii)SOURCE_FOR_STYLE)capture_internal_exceptionsensure_integration_enabledevent_from_exception) TYPE_CHECKING)Any)Union)EventEventProcessor)has_request_contexthas_websocket_contextRequestQuartrequest websocket)got_background_exceptiongot_request_exceptiongot_websocket_exceptionrequest_startedwebsocket_started)ScaffoldzQuart is not installed)endpointurlc6eZdZdZdeZdZddZedZy)QuartIntegrationquartz auto.http.cN|tvrtd|dtd||_y)Nz%Invalid value for transaction_style: z (must be in ))TRANSACTION_STYLE_VALUES ValueErrortransaction_style)selfr(s L/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/quart.py__init__zQuartIntegration.__init__?s. $< <$&>@ "3c&tjttjtt jt t jt tjt ttyN) rconnect_request_websocket_startedrr_capture_exceptionrrpatch_asgi_apppatch_scaffold_router,r* setup_oncezQuartIntegration.setup_onceHs[  :;!!"<= (();<%%&89''(:;r,N)r) __name__ __module__ __qualname__ identifieroriginr(r+ staticmethodr5r4r,r*r!r!9s2J* &F3  r,r!cFtjfd}|t_y)NcKtjjt|||d{St fdtj d}||||d{S767w)Ncg|i|Sr.r4)akwold_appr)s r*zApatch_asgi_app..sentry_patched_asgi_app..`sWT4A44r,) span_origin asgi_version) sentry_sdk get_clientget_integrationr!rr:)r)scopereceivesend middlewarerAs` r*sentry_patched_asgi_appz/patch_asgi_app..sentry_patched_asgi_appZsn  " 2 23C D L ugt<< <) 4(//  w555=6s!6A5A11A5,A3-A53A5)r__call__)rMrAs @r*r2r2VsnnG 6-ENr,cFtjfd}|t_y)Nc$|i|fd}|S)NctjrCtjs.t t t fd}|SS)Nctj}|j|jjtj}|j |j j |i|Sr.)rFget_current_scope transactionupdate_active_threadget_isolation_scopeprofileupdate_active_thread_id)argskwargs current_scope sentry_scopeold_funcs r* _sentry_funczTpatch_scaffold_route.._sentry_route..decorator.._sentry_funcxsm%/$@$@$BM$00<%11FFH#-#A#A#CL#++7$,,DDF#T4V44r,)inspect isfunctionasyncioiscoroutinefunctionrr r!)r]r^ old_decorators` r* decoratorz>patch_scaffold_route.._sentry_route..decoratorqsd!!(+G4O4O5x+,._sentry_routems!4262  +2r,)rroute)rfres @r*r3r3isI>#HNr,c |jj|jjd}|j||t|y#t $rYywxYw)N)rr)source)url_rulerulerset_transaction_namer Exception)rIr(rname_for_styles r* _set_transaction_name_and_sourcerosg  ##((((11  "" , -#$56 #     sA A AAcKtjjt}|yt rt j }trtj }ttj|jtj}t|||}|j|ywr.)rFrGrHr!rr_get_current_objectrrrorSr(rV_make_request_event_processoradd_event_processor)apprZ integrationrequest_websocketrI evt_processors r*r0r0s'')99:JKK#779%99;%$$& (E(EGX  * * ,E1#7H+VM m,sCCcfd}|S)Ncb|St5|jdi}j|d<j|d<j|d<t t j|d<trdjdi|d<t|ddd|S#1swY|SxYw) Nrr query_stringmethodheaders REMOTE_ADDRrenv) r setdefaultrrzr{rdictr|r access_route_add_user_to_event)eventhint request_infors r*innerz,_make_request_event_processor..inners ?L ( *!++Ir:L")++L +2+?+?L (%,^^L "&5d7??6K&LL #&('4g6J6J16M&N U#"5)+ + s B B$$B.r4)rtrrurs ` r*rrrrs0 Lr,cKtjjt}|yt |tjj ddd\}}tj ||yw)Nr"F)typehandled)client_options mechanism)r)rFrGrHr!r options capture_event)sender exceptionrZrurrs r*r1r1sf'')99:JKK&!,,.66"u5KE4 U.sA3A5ctytj}|yt5|jdi}tjj|d<dddy#1swYyxYw)Nuserid) quart_auth current_userr r_auth_id)rr user_infos r*rrsW  " "D | $ &$$VR0 $11:: $ ' & &s 0AA')6rar_ functoolsrrFsentry_sdk.integrationsrr$sentry_sdk.integrations._wsgi_commonrsentry_sdk.integrations.asgirsentry_sdk.scopersentry_sdk.tracingr sentry_sdk.utilsr r r typingr rrsentry_sdk._typesrrr ImportErrorr"rrrrrr quart.signalsrrrrrquart.scaffoldrflask.sansio.scaffoldr&r!r2r3ror0rrr1rr4r,r*rs=@=4/ !733+/{:-&##L  -,: / ;OJ2 323 1 / 001s0B'C>B4'B10B14 CCC