<!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
    ¿öYz  ã               @   sš   d Z ddlmZ ddlmZ ddlmZ yBddlZyddlm	Z	 W n  e
k
rb   ddlm	Z	 Y nX dZW n e
k
r‚   dZY nX G dd	„ d	eeƒZdS )
z©
raven.transport.gevent
~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
é    )Úabsolute_import)ÚAsyncTransport)ÚHTTPTransportN)Ú	SemaphoreTc                   s:   e Zd ZddgZd
‡ fdd„	Z‡ fdd„Zdd	„ Z‡  ZS )ÚGeventedHTTPTransportzgevent+httpzgevent+httpséd   c                s,   t stdƒ‚t|ƒ| _tt| ƒj||Ž d S )Nz&GeventedHTTPTransport requires gevent.)Ú
has_geventÚImportErrorr   Ú_lockÚsuperr   Ú__init__)ÚselfZmaximum_outstanding_requestsÚargsÚkwargs)Ú	__class__© úG/opt/alt/python37/lib/python3.7/site-packages/raven/transport/gevent.pyr      s    
zGeventedHTTPTransport.__init__c                s4   ˆj  ¡  t ttˆƒj|||¡ ‡ ‡‡fdd„¡S )z?
        Spawn an async request to a remote webserver.
        c                s   ˆ  | ˆˆ ¡S )N)Ú_done)Úx)Ú
failure_cbr   Ú
success_cbr   r   Ú<lambda>.   ó    z2GeventedHTTPTransport.async_send.<locals>.<lambda>)r
   ÚacquireÚgeventÚspawnr   r   ÚsendÚlink)r   ÚurlÚdataÚheadersr   r   )r   )r   r   r   r   Ú
async_send%   s    
z GeventedHTTPTransport.async_sendc             G   s(   | j  ¡  | ¡ r|ƒ  n
||jƒ d S )N)r
   ÚreleaseZ
successfulÚ	exception)r   Zgreenletr   r   r   r   r   r   r   0   s    
zGeventedHTTPTransport._done)r   )Ú__name__Ú
__module__Ú__qualname__Úschemer   r!   r   Ú__classcell__r   r   )r   r   r      s   r   )Ú__doc__Ú
__future__r   Zraven.transport.baser   Zraven.transport.httpr   r   Zgevent.lockr   r	   Zgevent.corosr   r   r   r   r   r   Ú<module>   s   
