eϸ d dl mZ d dlmZ d dlmZ d dlmZmZ d dl m
Z
mZ d dlm
Z
d dlmZmZ d dlmZmZ d d lmZmZmZ d d
lmZ d dlmZ d dlmZ d d
lmZ d dl m!Z!m"Z"m#Z# er0d dl m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 d dlm3Z3 d dl4m5Z5 n# e6$ r e
d w xY wdZ7 G d de
Z8 G d de Z9d)dZ:d)dZ;d*dZd%e?d!d"d&d'ddfd(Z@dS ), )
TYPE_CHECKING) BaseModel)OP)Hub_should_send_default_pii)DidNotEnableIntegration)SentryAsgiMiddleware)SOURCE_FOR_STYLETRANSACTION_SOURCE_ROUTE)event_from_exceptiontransaction_from_function)RequestStarliteState)BaseRouteHandler)DefineMiddleware)get_plugin_for_value) HTTPRoute)ConnectionDataExtractoris_async_callableRef)AnyDictListOptionalUnion) ASGIAppHTTPReceiveMessage HTTPScopeMessage
MiddlewareReceiveScopeSendWebSocketReceiveMessage)MiddlewareProtocol)EventzStarlite is not installedzgeneric Starlite requestc e Zd Zd fdZ xZS )SentryStarliteASGIMiddlewareappr c R t |ddd d S )NFendpointasgi)r+ unsafe_context_datatransaction_stylemechanism_type)super__init__)selfr+ __class__s r/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/sentry_sdk/integrations/starlite.pyr3 z%SentryStarliteASGIMiddleware.__init__* s:
%(!
)r+ r )__name__
__module____qualname__r3
__classcell__)r5 s @r6 r* r* ) s=
r7 r* c * e Zd ZdZedd ZdS )StarliteIntegrationstarlitereturnNc Z t t t d S )N)patch_app_initpatch_middlewarespatch_http_route_handle r7 r6
setup_oncezStarliteIntegration.setup_once6 s, !!!!!r7 r? N)r8 r9 r:
identifierstaticmethodrE rD r7 r6 r= r= 3 s7 J" " " \" " "r7 r= r? Nc D t j d fd} | t _ dS )
a
Replaces the Starlite class's `__init__` function in order to inject `after_exception` handlers and set the
`SentryStarliteASGIMiddleware` as the outmost middleware in the stack.
See:
- https://starlite-api.github.io/starlite/usage/0-the-starlite-app/5-application-hooks/#after-exception
- https://starlite-api.github.io/starlite/usage/7-middleware/0-middleware-intro/
r4 r argsr kwargsr? Nc . | dg }| t gt |t r|n|g t
j t
_ | dd pg }t
g||d<