bgdZddlZddlmZmZddlmZddlmZddl m Z erddl m Z ddl m Z dd l mZdd lmZd Zd Zd ZdZdZdS)z Instrumentation for Django 3.0 Since this file contains `async def` it is conditionally imported in `sentry_sdk.integrations.django` (depending on the existence of `django.core.handlers.asgi`. N)Hub _functools) TYPE_CHECKING)OP)SentryAsgiMiddleware)Any)Union)Callable) HttpResponsecBddlmjfd}|_dS)NrDjangoIntegrationcKtj||||d{VSt|dj}||||d{VS)NTunsafe_context_data)rcurrentget_integrationr__get__ _run_asgi3)selfscopereceivesend middlewarerclsold_apps t/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/sentry_sdk/integrations/django/asgi.pysentry_patched_asgi_handlerzCpatch_django_asgi_handler_impl..sentry_patched_asgi_handler s ; & &'8 9 9 A ugt<<<<<<<< <) OOD# & &D     Zw555555555)sentry_sdk.integrations.djangor__call__)rrrrs` @@rpatch_django_asgi_handler_implr"sQA@@@@@lG6666666/CLLLrc2|jfd}||_dS)NcBK|||d{VSN)rrequest_before_get_responseold_get_response_asyncs r!sentry_patched_get_response_asynczCpatch_get_response_async..sentry_patched_get_response_async1s=W%%%++D':::::::::r)get_response_async)rr(r*r)s ` @rpatch_get_response_asyncr,-s; 3;;;;;; ?Crcddl}ddlm|jdkrjfd}|_dSt dS)Nrr z3.0.0cKtj||d{VStfdd}|j||d{VS)Nc0Sr%)r)_scoperrrs rzWpatch_channels_asgi_handler_impl..sentry_patched_asgi_handler..HswtS99rTr)rrrrr)rrrrrrrs` rrzEpatch_channels_asgi_handler_impl..sentry_patched_asgi_handlerBs{**+<==E$WT7D999999999-999999tJ0DJ//>>>>>>>> >r)channelsr r __version__r!r")rr2rrrs` @@r patch_channels_asgi_handler_implr49s}OOO@@@@@@g%%, ? ? ? ? ? ? ?3 's+++++rcJtjfd}|S)NcjK5}|j|jtj|jj5|g|Ri|d{VcdddcdddS#1swxYwY ddddS#1swxYwYdS)N)op description)configure_scopeprofileupdate_active_thread_id start_spanr VIEW_RENDERresolver_match view_name)r'argskwargs sentry_scopecallbackhubs rsentry_wrapped_callbackz0wrap_async_view..sentry_wrapped_callbackWs " " @l#/$<<>>>>w/E/O  @ @&Xg???????????? @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s6A B($B6 B(B B(B B((B,/B,)rwraps)rDrCrEs`` rwrap_async_viewrGUsFh @ @ @ @ @  @ #"rc&Gfdd}|S)zh Mixin class factory that generates a middleware mixin for handling requests in async mode. c4eZdZerdZdZdZdZfdZdS)7_asgi_middleware_mixin_factory..SentryASGIMixinNcJ||_d|_|dSr%) get_response _acall_method _async_check)rrLs r__init__z@_asgi_middleware_mixin_factory..SentryASGIMixin.__init__rs* ,D !%D         rchtj|jrtjj|_dSdS)z If get_response is a coroutine function, turns us into async mode so a thread is not consumed during a whole request. Taken from django.utils.deprecation::MiddlewareMixin._async_check N)asyncioiscoroutinefunctionrL coroutines _is_coroutiners rrNzD_asgi_middleware_mixin_factory..SentryASGIMixin._async_checkxs;*4+<== F%,%7%E""" F Frc4tj|jS)z Function that checks if we are in async mode, and if we are forwards the handling of requests to __acall__ )rQrRrLrUs rasync_route_checkzI_asgi_middleware_mixin_factory..SentryASGIMixin.async_route_checks .t/@AA ArcK|j}|7t|jdr|jjx|_}n|jx|_}|}|||i|d{VS|5||i|d{VcdddS#1swxYwYdS)N __acall__) old_method)rMhasattr_innerrY)rr@rAfmiddleware_span_check_middleware_spans rrYzA_asgi_middleware_mixin_factory..SentryASGIMixin.__acall__s"Ay4; 449-1[-BBD&-1[8D&44BBBO&Q//////////  0 0Q///////// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s"A==BB) __name__ __module__ __qualname__rr\rOrNrWrY)r_srSentryASGIMixinrJnsn  F    F F F B B B 0 0 0 0 0 0 0rrcr&)r_rcs` r_asgi_middleware_mixin_factoryrdgs>+0+0+0+0+0+0+0+0+0+0Z r)__doc__rQ sentry_sdkrrsentry_sdk._typesrsentry_sdk.constsrsentry_sdk.integrations.asgirtypingrr r django.http.responser r"r,r4rGrdr&rrrls &&&&&&&&++++++ ======2111111///( ? ? ?,,,8###$44444r