OwlCyberSecurity - MANAGER
Edit File: quart.cpython-312.pyc
� G��g � � � d dl Z d dlZd dlmZ d dlZd dlmZmZ d dlm Z d dl mZ d dlm Z d dlmZ d dlmZmZmZ d d lmZ erd d lmZ d dlmZ d dlmZmZ d dlZ d d lmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ dZ- G d� de� Z.d� Z/d� Z0d� Z1d� Z2d� Z3d� Z4d� Z5y# e$ r dZY �Rw xY w# e$ r d dl,m+Z+ Y �=w xY w# e$ r ed� �w xY w)� N)�wraps)�DidNotEnable�Integration)�_filter_headers)�SentryAsgiMiddleware)�should_send_default_pii)�SOURCE_FOR_STYLE)�capture_internal_exceptions�ensure_integration_enabled�event_from_exception)� TYPE_CHECKING)�Any)�Union)�Event�EventProcessor)�has_request_context�has_websocket_context�Request�Quart�request� websocket)�got_background_exception�got_request_exception�got_websocket_exception�request_started�websocket_started)�ScaffoldzQuart is not installed)�endpoint�urlc �6 � e Zd ZdZde� �ZdZdd�Zed� � Zy)�QuartIntegration�quartz auto.http.� c �N � |t vrt d|�dt �d�� �|| _ y )Nz%Invalid value for transaction_style: z (must be in �))�TRANSACTION_STYLE_VALUES� ValueError�transaction_style)�selfr( s �L/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/quart.py�__init__zQuartIntegration.__init__? s. � ��$<�<��$�&>�@�� � "3��� c �& � t j t � t j t � t j t � t j t � t j t � t � t � y �N) r �connect�_request_websocket_startedr r �_capture_exceptionr r �patch_asgi_app�patch_scaffold_route� r, r* � setup_oncezQuartIntegration.setup_onceH s[ � � ��� :�;��!�!�"<�=� �(�(�);�<��%�%�&8�9��'�'�(:�;����r, N)r ) �__name__� __module__�__qualname__� identifier�originr( r+ �staticmethodr5 r4 r, r* r! r! 9 s2 � ��J��*�� &�F���3� � � � r, r! c �F �� t j ��fd�} | t _ y )Nc � � �� K � t j � j t � � �� |||� � d { ��� S t �� fd�t j �� }|j |_ ||||� � d { ��� S 7 �F7 ��w)Nc � �� ��g| ��i |��S r. r4 )�a�kw�old_appr) s ��r* �<lambda>zApatch_asgi_app.<locals>.sentry_patched_asgi_app.<locals>.<lambda>` s �� �W�T�4�A�4��4r, )�span_origin)� sentry_sdk� get_client�get_integrationr! r r: � _run_asgi3�__call__)r) �scope�receive�send� middlewarerA s ` �r* �sentry_patched_asgi_appz/patch_asgi_app.<locals>.sentry_patched_asgi_appZ sy �� �� �� � �"�2�2�3C�D�L� ��u�g�t�<�<�<�)�4�(�/�/� � � )�3�3� ����w��5�5�5� =�� 6�s"