Edit File: tornado.cpython-37.opt-1.pyc
B Z~�_Y � @ sH d dl Z d dlmZ d dlmZmZ d dlmZmZm Z m Z mZ d dlm Z mZ d dlmZmZmZ d dlmZ d dlmZ y,d d lmZ d d lmZmZ d dlmZ W n ek r� ed��Y nX d d l m!Z! e!�rd dl"m#Z# d dl"m$Z$ d dl"m%Z% d dl"m&Z& d dl m'Z' G dd� de �Z(dd� Z)dd� Z*G dd� de�Z+dS )� N)�iscoroutinefunction)�Hub�_should_send_default_pii)�HAS_REAL_CONTEXTVARS�CONTEXTVARS_ERROR_MESSAGE�event_from_exception�capture_internal_exceptions�transaction_from_function)�Integration�DidNotEnable)�RequestExtractor�_filter_headers�_is_json_content_type)� ignore_logger)� iteritems)�version_info)�RequestHandler� HTTPError)� coroutinezTornado not installed)�MYPY)�Any)�Optional)�Dict)�Callable)�EventProcessorc @ s e Zd ZdZedd� �ZdS )�TornadoIntegration�tornadoc sz t dk rtd��ts tdt ��td� tj� t� �} | rH� fdd�}nt� fdd��}|t_tj ��fdd �}|t_ d S ) N)� r zTornado 5+ requiredzUThe tornado integration for Sentry requires Python 3.7+ or the aiocontextvars packageztornado.accessc � s� t j}|�t�}|d kr.� | f|�|�I d H S t�| �}t |��F}|�� � }|�� t|�}|� |� W d Q R X � | f|�|�I d H S Q R X d S )N) r �current�get_integrationr �weakref�ref�configure_scope�clear_breadcrumbs�_make_event_processor�add_event_processor)�self�args�kwargs�hub�integration�weak_handler�scope� processor)�old_execute� �P/opt/alt/python37/lib/python3.7/site-packages/sentry_sdk/integrations/tornado.py�sentry_execute_request_handlerA s zETornadoIntegration.setup_once.<locals>.sentry_execute_request_handlerc ? s� t j}|�t�}|d kr(� | f|�|�S t�| �}t |��J}|�� � }|�� t|�}|� |� W d Q R X � | f|�|�E d H }|S Q R X d S )N) r r r r r r! r"