<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    Y	                 @   s   d Z ddlmZ ddlmZ ddlmZ ddlmZ y0ddl	m
Z
mZmZmZmZ ddlmZ dZW n ek
r|   d	ZY nX G d
d deeZdS )z
raven.transport.twisted
~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
    )absolute_import)BytesIO)AsyncTransport)HTTPTransport)AgentFileBodyProducerHTTPConnectionPoolResponseNeverReceivedreadBody)HeadersTFc                   s,   e Zd ZddgZ fddZdd Z  ZS )TwistedHTTPTransportztwisted+httpztwisted+httpsc                s@   t stdtt| j|| ddlm} t|t|d| _	d S )Nz*TwistedHTTPTransport requires twisted.web.r   )reactor)pool)
has_twistedImportErrorsuperr   __init__Ztwisted.internetr   r   r   _agent)selfargskwargsr   )	__class__ H/opt/alt/python37/lib/python3.7/site-packages/raven/transport/twisted.pyr      s
    zTwistedHTTPTransport.__init__c       	   	      s`   | j jd|tt|ttdd | D d} fdd} fdd}||| d S )	Ns   POSTc             s   s   | ]\}}||gfV  qd S )Nr   ).0kvr   r   r   	<genexpr>-   s    z2TwistedHTTPTransport.async_send.<locals>.<genexpr>)ZbodyProducerheadersc                s4   |  t}|r& dd | jjD  n
 | j d S )Nc             S   s   g | ]
}|j qS r   )value)r   fr   r   r   
<listcomp>4   s    zGTwistedHTTPTransport.async_send.<locals>.on_failure.<locals>.<listcomp>)checkr	   r   Zreasons)Zfailureex)
failure_cbr   r   
on_failure0   s    
z3TwistedHTTPTransport.async_send.<locals>.on_failurec                s2    j dkr  n fdd}t |S dS )z
            Success only means that the request succeeded, *not* that the
            actual submission was successful.
               c                s    t jj|  d S )N)	Exceptioncodephrase)body)r$   responser   r   on_error_body@   s    zJTwistedHTTPTransport.async_send.<locals>.on_success.<locals>.on_error_bodyN)r(   r
   addCallback)r+   r,   )r$   
success_cb)r+   r   
on_success8   s
    
z3TwistedHTTPTransport.async_send.<locals>.on_success)	r   Zrequestr   r   r   dictitemsr-   Z
addErrback)	r   urldatar   r.   r$   dr%   r/   r   )r$   r.   r   
async_send)   s    
zTwistedHTTPTransport.async_send)__name__
__module____qualname__schemer   r5   __classcell__r   r   )r   r   r      s   r   N)__doc__
__future__r   Zraven.utils.compatr   Zraven.transport.baser   Zraven.transport.httpr   Ztwisted.web.clientr   r   r   r	   r
   Ztwisted.web.http_headersr   r   r   r   r   r   r   r   <module>   s   
