U 췀gA @sddlZddlZddlmZddlmZer8ddlmZzddlmZWne k r`dZYnXzddl m Z Wne e fk rdZ YnXddZ d d ZdS) N)OP) TYPE_CHECKING)Any)iscoroutinefunction)wrap_async_viewcsfddlm}ddlm}ddlm|j|jfdd}t fdd}||_||_dS) Nr) BaseHandler)SimpleTemplateResponseDjangoIntegrationc s4tjtjdjd|W5QRSQRXdS)Nzserialize responseopnameorigin) sentry_sdk start_spanrZVIEW_RESPONSE_RENDERr)self)r old_renderR/opt/hc_python/lib/python3.8/site-packages/sentry_sdk/integrations/django/views.pysentry_patched_render"s z*patch_views..sentry_patched_rendercsd|f||}t}|dk r\|jr\tdk oBtdk oBt|}|rRt|}q`t|}n|}|S)N)rZ get_clientZget_integrationZmiddleware_spansrr_wrap_sync_view)rargskwargscallbackZ integrationZ is_async_viewsentry_wrapped_callback)r old_make_view_atomicrrsentry_patched_make_view_atomic+s  z4patch_views..sentry_patched_make_view_atomic) Zdjango.core.handlers.baserZdjango.template.responsersentry_sdk.integrations.djangor Zmake_view_atomicrender functoolswraps)rrrrr)r rrr patch_viewss    r!cs(ddlmtfdd}|S)Nrr c sxt}|jdk r|jt}|jdk r8|jtjtj |j j j d|f||W5QRSQRXdS)Nr ) rZget_current_scopeZ transactionZupdate_active_threadZget_isolation_scopeZprofileZupdate_active_thread_idrrZ VIEW_RENDERZresolver_matchZ view_namer)requestrrZ current_scopeZ sentry_scoper rrrrLs    z0_wrap_sync_view..sentry_wrapped_callback)rr rr )rrrr#rrHs r)rrZsentry_sdk.constsrtypingrrZasyncior ImportErrorZ#sentry_sdk.integrations.django.asgir SyntaxErrorr!rrrrrs     0