OwlCyberSecurity - MANAGER
Edit File: litestar.cpython-312.pyc
� ����;0h1-����������������������������d�dl�mZ�d�dlZd�dlmZ�d�dlmZmZmZ�d�dl m Z �d�dlmZ�d�dl mZ�d�dlmZmZ�d�d lmZmZmZ� �d�d lmZmZ�d�dlmZ�d�dlmZ�d�d lmZ�d�dlm Z �d�dl!m"Z"�d�dl$m%Z%�e%r2d�dl$m&Z&m'Z'm(Z(�d�dl)m*Z*�d�dl+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z2m3Z3m4Z4�d�dlm5Z5�d�dl6m7Z7m8Z8�dZ9�G�d��de�������Z:�G�d��de �������Z;d��Z<d��Z=d��Z>d��Z?d ��Z@�ee:�������d!����������ZAy#�e#$�r ��ed��������w�xY�w)"�����)�SetN)�OP)�$_DEFAULT_FAILED_REQUEST_STATUS_CODES�DidNotEnable�Integration)�SentryAsgiMiddleware)� ignore_logger)�should_send_default_pii)�TransactionSource�SOURCE_FOR_STYLE)�ensure_integration_enabled�event_from_exception�transaction_from_function)�Request�Litestar)�BaseRouteHandler)�DefineMiddleware)� HTTPRoute)�ConnectionDataExtractor)� HTTPExceptionzLitestar is not installed)� TYPE_CHECKING)�Any�Optional�Union)�ASGIApp)�HTTPReceiveMessage� HTTPScope�Message� Middleware�Receive�Scope�Send�WebSocketReceiveMessage)�MiddlewareProtocol)�Event�Hintzgeneric Litestar requestc��������������������8�����e�Zd�ZdZde���Zef �dd�Zed����������Zy)�LitestarIntegration�litestarz auto.http.Nc�����������������������||�_���������y��N)�failed_request_status_codes)�selfr,���s��� �O/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/litestar.py�__init__zLitestarIntegration.__init__6���s �������,G��(�����c�������������������V�����t�����������������t�����������������t�����������������t��������d��������y�)Nr)���)�patch_app_init�patch_middlewares�patch_http_route_handler �����r0���r.���� setup_oncezLitestarIntegration.setup_once<���s ������� �����!�� �j�!r0���)�returnN) �__name__� __module__�__qualname__� identifier�originr���r/����staticmethodr6���r5���r0���r.���r(���r(���2���s>�������J��*�� &�F��%I�G�� �G���"���"r0���r(���c��������������������6�������e�Zd�Zej������������������f��fd� Z��xZS�)�SentryLitestarASGIMiddlewarec������������������.������t����������|����|ddd|���������y�)NF�endpoint�asgi)�app�unsafe_context_data�transaction_style�mechanism_type�span_origin)�superr/���)r-���rC���rG���� __class__s��� �r.���r/���z%SentryLitestarASGIMiddleware.__init__O���s&�������� ���� %�(�!�#�� �� r0���)r8���r9���r:���r(���r<���r/���� __classcell__)rI���s���@r.���r?���r?���N���s�������(;�(B�(B�� �� r0���r?���c�������������������l������t���������j�������������������t��������t�����������������fd���������}�|�t���������_��������y)a\�� Replaces the Litestar class's `__init__` function in order to inject `after_exception` handlers and set the `SentryLitestarASGIMiddleware` as the outmost middleware in the stack. See: - https://docs.litestar.dev/2/usage/applications.html#after-exception - https://docs.litestar.dev/2/usage/middleware/using-middleware.html c�������������������������t���������g|j������������������d�������xs�g��|d<���t��������j������������������t��������_��������|j������������������d�������xs�g�}t��������g|�|d<�����|�g|��i�|���y�)N�after_exception� middleware)�exception_handler�getr?���� _run_asgi3�__call__)r-����args�kwargsrN����old__init__s��� �r.����injection_wrapperz)patch_app_init.<locals>.injection_wrapperf���su�������� �% ��j�j�*�+�1�r�% �� �!� �1M�0W�0W�$�-��Z�Z��-�3�� � <�J�z�J��|���D�*�4�*�6�*r0���N)r���r/���r ���r(���)rV���rU���s��� @r.���r2���r2���[���s5���������#�#�K�� 3�[�A� +��B� +��*�H�r0���c�������������������l������t���������j�������������������t��������t�����������������fd���������}�|�t���������_��������y�)Nc������������������L��������|��������D��cg�c] ��}t��������|����������c}S�c�c}w�r+���)�enable_span_for_middleware)r-���rN����old_resolve_middleware_stacks��� �r.����resolve_middleware_wrapperz5patch_middlewares.<locals>.resolve_middleware_wrapperz���s4������� �;�4�@� �@� �� '�z�2�@� �� ��� s����!)r����resolve_middlewarer ���r(���)r[���rZ���s��� @r.���r3���r3���v���s7�������#3�#F�#F� �� 3�5Q�R� ��S� ��+E��'r0���c�����������������������t��������|�d�������r|�t��������u�r|�S�t��������|�t���������������r|�j������������������j �������������������n|�j ��������������������fd�}�j������������������dv}|r*t��������|�t���������������r||�j������������������_��������|�S�||�_��������|�S�)NrR���c�������������������4������ K����t��������j��������������������������j������������������t������������������|�|�����������d�{������S�|�j������������������j ������������������� t��������j������������������t��������j������������������� t��������j��������������������������5�}|j������������������d� ��������� �fd�}t���������dt�����������������������}|dk(��}|s|n�}� �fd�} t���������dt�����������������������} | dk(��}|s| n�}��|�|||���������d�{������cd�d�d���������S�7���7��#�1�sw�Y���y�xY�w�w)N��op�namer<����litestar.middleware_namec������������ �����������K����t��������j��������������������������j������������������t������������������|�i�|����d�{������S�t��������j������������������t ��������j������������������t���������dt�����������������������t��������j��������������������������5�}|j������������������d�����������|�i�|����d�{������cd�d�d���������S�7��x7��#�1�sw�Y���y�xY�w�w�Nr:���r_���rb���)� sentry_sdk� get_client�get_integrationr(���� start_spanr����MIDDLEWARE_LITESTAR_RECEIVE�getattr�strr<����set_tag)rS���rT����span�middleware_name�receives��� ��r.����_sentry_receivezNenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_receive����s������������(�(�*�:�:�;N�O�W�!(�$�!9�&�!9�9�9��*�*��5�5� ��.�#�g�,�G�.�5�5�����L�L�!;�_�M�!(�$�!9�&�!9�9� ����:���:�� ����:����3B?�B/�AB?�B3�!B1�"B3�%B?�1B3�3B<�8B?r8���rp���c����������� �����������K����t��������j��������������������������j������������������t������������������|����������d�{������S�t��������j������������������t ��������j������������������t���������dt�����������������������t��������j��������������������������5�}|j������������������d�����������|����������d�{������cd�d�d���������S�7��x7��#�1�sw�Y���y�xY�w�wrd���)re���rf���rg���r(���rh���r����MIDDLEWARE_LITESTAR_SENDrj���rk���r<���rl���)�messagerm���rn����sends��� ��r.����_sentry_sendzKenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_send����s������������(�(�*�:�:�;N�O�W�!%�g��.�.��*�*��2�2� ��~�s�4�y�A�.�5�5�����L�L�!;�_�M�!%�g��.� ����/���/�� ���rq���rv���) re���rf���rg���r(���rI���r8���rh���r����MIDDLEWARE_LITESTARr<���rl���rj���rk���)r-����scopero���ru����middleware_spanrp����receive_name�receive_patched�new_receiverv���� send_name�send_patched�new_sendrn����old_calls��� `` @�r.����_create_span_callz5enable_span_for_middleware.<locals>._create_span_call����s���������� � �"�2�2�3F�G�O�!�$��w��=�=�=��.�.�1�1�� � "� "��%�%� �&�-�-� ����#�#�$>��P� :��#�7�J��G��E�L�*�.?�?�O�1@�/�g�K� /�� ��j�#�d�)�<�I�$��6�L�+7�|�T�H�!�$��{�H�E�E�S �� ��>��X�F��S �� �s;����6D�D�AD�A/D�:D �;D�>D� D�D�D)r����)�hasattrr?���� isinstancer���rN���rR���r8���)rN���r�����not_yet_patchedr����s��� @r.���rY���rY�������s��������� �J� �+��5�5����*�.�/��(�(�1�1���&�&��/F�b��'�'�/D�D�O���j�"2�3�->�J�!�!�*�����#4�J���r0���c�������������������F������t���������j��������������������fd�}�|�t���������_��������y�)Nc�������������������������� K����t��������j��������������������������j������������������t������������������ |��||���������d�{������S�t��������j��������������������������}�d���j�������������������||��������}�t ��������dd��������|���������j������������������d�������}|��d�{������� �� �fd�}t��������j������������������|_ ��������|j������������������|���������� |��||���������d�{������S�7���7��F7���w)NrC���)rx���ro���ru���T)� parse_body�parse_query�bodyc������������������������� j������������������d�������}|�j������������������di��������}t��������� j������������������dd��������������|d<���t����������������r�d���|d<������|d<���d�}|j������������������� |j������������������}n9t ��������|j ������������������d�������r|j ������������������j������������������}n|j ������������������}|�t��������|�������}d t��������d ���i}st��������}d t��������j������������������i}|�j������������������|||d���������|�S�)N� route_handler�request�_bodyr0����content_length�cookies�data�value�sourcerA���)r�����transaction�transaction_info) rP����lenr ���ra���r�����fnr����r���r����_DEFAULT_TRANSACTION_NAMEr����ROUTE�update) �event�_r�����request_info�func�tx_name�tx_info�extracted_request_data�request_datarx���s ��� ���r.����event_processorzHpatch_http_route_handle.<locals>.handle_wrapper.<locals>.event_processor����s������!�I�I�o�6�M� �9�9�Y��3�L�-0����7�C�1H�-I�L�)�*�&�(�*@��*K��Y�'��'�'3��V�$��D��!�!�-�'�,�,����)�)�7�3�$�'�'�-�-��$�'�'����3�D�9���!1�*�!=�>�G��3��#�%6�%<�%<�=���L�L�+�#*�(/�� ���Lr0���)re���rf���rg���r(����get_isolation_scope� request_classr����popr;����_name�add_event_processor)r-���rx���ro���ru����sentry_scoper����r����r����r����r����� old_handles��� ` @@�r.����handle_wrapperz/patch_http_route_handle.<locals>.handle_wrapper����s������������ � �"�2�2�3F�G�O�#�D�%��$�?�?�?�!�5�5�7����,�,�,���t��-�� ��" �!8���" � �"���&�)�)�&�1��!�z��# �J�1�;�;����(�(��9���e�W�d�;�;�;�k�@���"��T�<�s4����6C �C�AC �C�?C �C�C �C �C )r����handle)r����r����s��� @r.���r4���r4�������s��������!�!�J�8<�t�&�I�r0���c�����������������������|�j������������������d�������}t��������|t���������������r|S�t��������|d�������r|j ��������������������������S�y�)N�user�asdict)rP���r�����dictr����r����)rx���� scope_users��� r.����retrieve_user_from_scoper������s<���������6�"�J��*�d�#����z�8�$�� � �"�"�r0���c�����������������������d�}t����������������rt��������|�������}|r5t��������|t���������������r%t ��������j ��������������������������}|j ������������������|��������t��������|�t���������������rBt ��������j��������������������������j������������������t���������������}|�|�j������������������|j������������������vry�t��������|�t ��������j��������������������������j������������������t��������j������������������dd���������\��}}t ��������j ������������������||���������y�)NF)�type�handled)�client_options� mechanism)�hint)r ���r����r����r����re���r�����set_userr���rf���rg���r(����status_coder,���r����optionsr;���� capture_event)�excrx���� user_infor�����integrationr����r����s��� r.���rO���rO�����s���������I�� �,�U�3� ��Z� �4�0�!�5�5�7�����i�(��#�}�%� �+�+�-�=�=�>Q�R���#����{�'N�'N�N��&��!�,�,�.�6�6�.�9�9�e�L��K�E�4�����U��.r0���)B�collections.abcr���re����sentry_sdk.constsr����sentry_sdk.integrationsr���r���r����sentry_sdk.integrations.asgir����sentry_sdk.integrations.loggingr ����sentry_sdk.scoper ����sentry_sdk.tracingr���r����sentry_sdk.utilsr ���r���r���r)���r���r����litestar.handlers.baser����litestar.middlewarer����litestar.routes.httpr����litestar.data_extractorsr����litestar.exceptionsr����ImportError�typingr���r���r���r����litestar.types.asgi_typesr����litestar.typesr���r���r���r���r ���r!���� LitestarScoper"���r#���r$����sentry_sdk._typesr%���r&���r����r(���r?���r2���r3���rY���r4���r����rO���r5���r0���r.����<module>r�������s����������� ���� �>��9��4��B����4�*�7�4�.�@�1��!��+�+�1� �� �� ��7�-�6���"�+��"�8 �#7�� �*�6E�F�R>&�B���/�0�/��1�/��C���4� �2� 3�3�4�s�����&C��C$