OwlCyberSecurity - MANAGER
Edit File: bottle.cpython-312.pyc
� ����;0h������������������������j����d�dl�Z�d�dlZd�dlmZ�d�dlmZmZmZmZm Z �d�dl mZmZm Z mZ�d�dlmZ�d�dlmZ�d�dlmZ�er6d�dlmZ�d�d lmZ�d�d lmZ�d�dlmZ�d�dlmZ�d�d lmZ�d�dlmZmZmZ�d�dl m!Z!m"Z"� �d�dlm#Z#m$Z$m%Z%m&Z'm(Z)�dZ+�G�d��de�������Z,�G�d��de�������Z-d��Z.d��Z/d��Z0y#�e*$�r ��ed��������w�xY�w)�����N)�SOURCE_FOR_STYLE)�capture_internal_exceptions�ensure_integration_enabled�event_from_exception� parse_version�transaction_from_function)�Integration�DidNotEnable�$_DEFAULT_FAILED_REQUEST_STATUS_CODES�_check_minimum_version)�SentryWsgiMiddleware)�RequestExtractor)� TYPE_CHECKING)�Set)�_ScopedResponse)�Any)�Dict)�Callable)�Optional)� FileUpload� FormsDict�LocalRequest)�EventProcessor�Event)�Bottle�HTTPResponse�Route�request�__version__zBottle not installed)�endpoint�urlc��������������������>�����e�Zd�ZdZde���ZdZ �ded�d�Zed����������Z y) �BottleIntegration�bottlez auto.http.��)�failed_request_status_codesc�����������������\�����|t���������vrt��������d|�dt����������d���������||�_��������||�_��������y�)Nz%Invalid value for transaction_style: z (must be in �))�TRANSACTION_STYLE_VALUES� ValueError�transaction_styler&���)�selfr+���r&���s��� �M/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/bottle.py�__init__zBottleIntegration.__init__8���s8��������$<�<��$�&>�@��� ��"3���+F��(�����c��������������������������t��������t���������������}�t��������t��������|���������t��������j �������������������t ��������t�����������������fd���������}|t��������_��������t��������j�������������������t��������j���������������������������fd���������}|t��������_��������t��������j�������������������t��������j���������������������������fd���������}|t��������_��������y�)Nc������������������V��������t�����������fd�t��������j��������������������������}�|||�������S�)Nc����������������������������g|���i�|��S��N��)�a�kw�old_appr,���s��� ��r-����<lambda>zOBottleIntegration.setup_once.<locals>.sentry_patched_wsgi_app.<locals>.<lambda>T���s���������!8��!8�R�!8r/���)�span_origin)r ���r#����origin)r,����environ�start_response� middlewarer7���s���` �r-����sentry_patched_wsgi_appz=BottleIntegration.setup_once.<locals>.sentry_patched_wsgi_appP���s*��������.�8�-�4�4��J� ��g�~�6�6r/���c�������������������������t��������j��������������������������j������������������t���������������}|� ��|�|�������S�t��������j��������������������������}d|_��������|j ������������������t��������|�t��������|�����������������|�|�������}|S�)Nr$���) � sentry_sdk� get_client�get_integrationr#����get_isolation_scope�_name�add_event_processor�_make_request_event_processor�bottle_request)r,���r;����integration�scope�res� old_handles��� �r-����_patched_handlez5BottleIntegration.setup_once.<locals>._patched_handle^���st��������%�/�/�1�A�A�BS�T�K��"�!�$��0�0��2�2�4�E�"�E�K��%�%�-�d�N�K�P� ���T�7�+�C��Jr/���c����������������������������|�g|��i�|���t��������j��������������������������j������������������t�������������������S���fd�}|S�)Nc�������������������������� ���|�i�|��}t��������|t���������������r%|j�������������������j ������������������v�r t��������|d���������|S�#�t���������$�r}t��������|d���������|�d�}~ww�xY�w)NF)�handledT)� Exception�_capture_exception� isinstancer����status_coder&���)�args�kwargsrJ���� exceptionrH����prepared_callbacks��� ��r-����wrapped_callbackzUBottleIntegration.setup_once.<locals>.patched_make_callback.<locals>.wrapped_callback{���se�������$�+�T�<�V�<�C���s�L�1����;�+R�+R�R�&�s�D�9�� ���!��$�&�y�%�@�#�O��$�s����A�� A�A�A)r@���rA���rB���r#���)r,���rT���rU���rX���rH���rW����old_make_callbacks��� @@�r-����patched_make_callbackz;BottleIntegration.setup_once.<locals>.patched_make_callbackr���sM��������!2�$� H�� H�� H��$�/�/�1�A�A�BS�T�K��"�(�(� � �$�#r/���)r����BOTTLE_VERSIONr���r#���r����__call__r����_handle� functools�wrapsr����_make_callback)�versionr>���rL���rZ���r7���rK���rY���s��� @@@r-���� setup_oncezBottleIntegration.setup_onceH���s��������� ��/���0�'�:��/�/�� #�$5�w� ?� 7�� @� 7��2����^�^� � ���� $� �� %� ��)���!�0�0�� ���*� +� $�� ,� $�4� 5��r/���N)r ���) �__name__� __module__�__qualname__� identifierr:���r+���r���r.����staticmethodrb���r4���r/���r-���r#���r#���2���sF�������J��*�� &�F����%�G��%I� G� ��D5���D5r/���r#���c��������������������0�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zy)�BottleRequestExtractorc������������������.�����|�j�������������������j������������������S�r3���)r���r;����r,���s��� r-����envzBottleRequestExtractor.env������������|�|�#�#�#r/���c������������������.�����|�j�������������������j������������������S�r3���)r����cookiesrk���s��� r-���ro���zBottleRequestExtractor.cookies����rm���r/���c������������������J�����|�j�������������������j������������������j��������������������������S�r3���)r����body�readrk���s��� r-����raw_datazBottleRequestExtractor.raw_data����s�������|�|� � �%�%�'�'r/���c������������������l�����|�j��������������������������ry�|�j������������������j������������������j��������������������������S�r3���)�is_jsonr����forms�decoderk���s��� r-����formzBottleRequestExtractor.form����s'�������<�<�>���|�|�!�!�(�(�*�*r/���c������������������P�����|�j��������������������������ry�|�j������������������j������������������S�r3���)ru���r����filesrk���s��� r-���rz���zBottleRequestExtractor.files����s�������<�<�>���|�|�!�!�!r/���c�����������������������|j�������������������S�r3���)�content_length)r,����files��� r-����size_of_filez#BottleRequestExtractor.size_of_file����s�������"�"�"r/���N) rc���rd���re���rl���ro���rs���rx���rz���r~���r4���r/���r-���ri���ri�������s ������$�$�(�+�"�#r/���ri���c������������������.����d}|dk(��r �|j�������������������j������������������xs�d}nA|dk(��r< �|j�������������������j������������������xs#�t ��������|j�������������������j �������������������������xs�d}||�d<���dt��������|���i|�d<���y�#�t��������$�r�Y��w�xY�w#�t��������$�r�Y��.w�xY�w)Nr%���r!���r ����transaction�source�transaction_info)�route�rule�RuntimeError�namer����callbackr���)�eventr+���r���r����s��� r-���� _set_transaction_name_and_sourcer��������s������� �D��E�!� ��=�=�%�%�+��D�� �j� (� �� � �"�"���,�W�]�]�-C�-C�D���� �� �E�-��!)�+;�<M�+N� O�E� ������ �� ����� �� �s"����A9��;B��9 B�B� B�Bc���������������������������fd�}|S�)Nc������������������������t��������|��j���������������������������t����������������5��t����������������j ������������������|���������d�d�d���������|�S�#�1�sw�Y���|�S�xY�wr3���)r����r+���r���ri����extract_into_event)r�����hintrH���r���s��� ��r-����event_processorz6_make_request_event_processor.<locals>.event_processor����sG�������(���0M�0M�w�W� (� *�"�7�+�>�>�u�E��+�����+����s����A�Ar4���)�appr���rH���r����s��� `` r-���rF���rF�������s����������r/���c�����������������������t��������|�t��������j��������������������������j������������������d|d���������\��}}t��������j������������������||���������y�)Nr$���)�typerO���)�client_options� mechanism)r����)r���r@���rA����options� capture_event)rV���rO���r����r����s��� r-���rQ���rQ�������s?������&��!�,�,�.�6�6�#��8��K�E�4� ����U��.r/���)1r^���r@����sentry_sdk.tracingr����sentry_sdk.utilsr���r���r���r���r����sentry_sdk.integrationsr ���r ���r���r����sentry_sdk.integrations.wsgir ����$sentry_sdk.integrations._wsgi_commonr����typingr����collections.abcr���r���r���r���r���r���r$���r���r���r����sentry_sdk._typesr���r���r���r���r���r���rG���r���r[����ImportErrorr)���r#���ri���r����rF���rQ���r4���r/���r-����<module>r�������s�����������/��������>��A�� ��#�<�����:�:�7� /�����/���[5���[5�|#�-��#�>P�0�/��W���/� �-� .�.�/�s����4B$��$B2