Mg% d d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
ddlmZmZ dd lmZ dd
lmZ ddlmZ ddlmZmZ dd
lmZmZmZmZmZm Z ddlm!Z! e r&ddl"m#Z# ddl"m$Z$ ddl"m%Z% ddl"m&Z& ddl'm(Z( ddlm)Z)m*Z* ed Z+dZ,dZ-ddZ.d Z/ G d d Z0dS )ze
An ASGI middleware.
Based on Tom Christie's `sentry-asgi `.
N)deepcopy)partial)
TYPE_CHECKING)continue_trace)OP)Hub_should_send_default_pii)_filter_headers)_get_installed_modules)auto_session_tracking)SOURCE_FOR_STYLETRANSACTION_SOURCE_ROUTE)
ContextVarevent_from_exceptionHAS_REAL_CONTEXTVARSCONTEXTVARS_ERROR_MESSAGEloggertransaction_from_function)Transaction)Dict)Any)Optional)Callable)Literal)EventHintsentry_asgi_middleware_appliedzgeneric ASGI request)endpointurlasgic | j ;t || j j |dd \ }}| || d S d S )NF)typehandled)client_options mechanism)hint)clientr options
capture_event)hubexcmechanism_typeeventr&