AlkantarClanX12

Your IP : 3.145.9.200


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/raven/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/raven/__pycache__/middleware.cpython-311.pyc

�

�܋f
���dZddlmZddlmZddlmZmZddlm	Z	m
Z
mZed���ZGd�de��Z
Gd	�d
e��ZdS)z�
raven.middleware
~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
�)�absolute_import)�contextmanager)�Iterator�next)�get_current_url�get_headers�get_environc#�K�	dV�dS#ttf$r�t$r|�|���t$r|�|���t
$r&}|jdkr|�|���d}~wwxYw)Nr)�
StopIteration�
GeneratorExit�	Exception�handle_exception�KeyboardInterrupt�
SystemExit�code)�environ�client�es   �a/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/raven/middleware.py�common_exception_handlingrs������
��������=�)����	���������(�(�(�
���������(�(�(�
������6�Q�;�;��#�#�G�,�,�,�
��������s�
�AB	�#!B�B	c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�ClosingIteratorz[
    An iterator that is implements a ``close`` method as-per
    WSGI recommendation.
    c��||_||_t|dd��|_t	|��|_d|_dS)N�closeF)�sentryr�getattr�_close�iter�iterable�closed)�selfrrrs    r�__init__zClosingIterator.__init__,s;���������h���6�6����X����
������c��|S�N��r!s r�__iter__zClosingIterator.__iter__3s���r#c���	t|j|j��5t|j��cddd��S#1swxYwYdS#t
$r|����wxYwr%)rrrrrrrr's r�__next__zClosingIterator.__next__6s���		�*�4�<���E�E�
+�
+��D�M�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+�
+�
+���	�	�	�

�J�J�L�L�L��
	���s+�A
�=�A
�A�A
�A�A
�
 A*c���|jrdS	|j�Ft|j|j��5|���ddd��n#1swxYwY|jjj���|jjj���d|_dS#|jjj���|jjj���d|_wxYw)NT)	r rrrrr�context�clear�transactionr's rrzClosingIterator.closeBs���;�	��F�	��{�&�.�t�|�T�[�I�I�"�"��K�K�M�M�M�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"�
�K��&�,�,�.�.�.��K��*�0�0�2�2�2��D�K�K�K��
�K��&�,�,�.�.�.��K��*�0�0�2�2�2��D�K����s/�!B'�A
�B'�
A�B'�A�B'�'AC6N)�__name__�
__module__�__qualname__�__doc__r"r(r*rr&r#rrr&sZ��������
������
�
�
�
�
�
�
�
r#rc�.�eZdZdZdd�Zd�Zd�Zdd�ZdS)�Sentryz�
    A WSGI middleware which will attempt to capture any
    uncaught exceptions and send them to Sentry.

    >>> from raven.base import Client
    >>> application = Sentry(application, Client())
    Nc�F�||_|�ddlm}|��}||_dS)Nr)�Client)�application�
raven.baser6r)r!r7rr6s    rr"zSentry.__init__Xs7��&����>�)�)�)�)�)�)��V�X�X�F�����r#c��|j�|�|����t||��5|�||��}ddd��n#1swxYwYt|||��Sr%)r�http_context�get_http_contextrr7r)r!r�start_responsers    r�__call__zSentry.__call___s���	
�� � ��!6�!6�w�!?�!?�@�@�@�
&�w��
5�
5�	A�	A��'�'���@�@�H�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A��t�X�w�7�7�7s�A!�!A%�(A%c	���|�d��t|d���|�d��tt|����tt	|����d�S)N�REQUEST_METHODT)�strip_querystring�QUERY_STRING)�method�url�query_string�headers�env)�getr�dictrr	�r!rs  rr;zSentry.get_http_contextgsh���k�k�"2�3�3�"�7�d�C�C�C�#�K�K��7�7��K��0�0�1�1���G�,�,�-�-�
�
�	
r#c�4�|j���Sr%)r�captureExceptionrIs  rrzSentry.handle_exceptionrs���{�+�+�-�-�-r#r%)r/r0r1r2r"r=r;rr&r#rr4r4Osd������������8�8�8�	
�	
�	
�.�.�.�.�.�.r#r4N)r2�
__future__r�
contextlibr�raven.utils.compatrr�raven.utils.wsgirrr	rr�objectr4r&r#r�<module>rQs�����'�&�&�&�&�&�%�%�%�%�%�%�-�-�-�-�-�-�-�-�/�/�/�/�/�/�/�/�/�/�������(&�&�&�&�&�h�&�&�&�R$.�$.�$.�$.�$.�V�$.�$.�$.�$.�$.r#