bg dZddlmZddlmZddlmZddlmZ ddl m Z m Z m Z m Z mZddlmZdZn #e$rd ZYnwxYwGd d eeZd 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)AgentFileBodyProducerHTTPConnectionPoolResponseNeverReceivedreadBody)HeadersTFc,eZdZddgZfdZdZxZS)TwistedHTTPTransportz twisted+httpz twisted+httpsctstdtt|j|i|ddlm}t|t||_ dS)Nz*TwistedHTTPTransport requires twisted.web.r)reactor)pool) has_twisted ImportErrorsuperr__init__twisted.internetrrr _agent)selfargskwargsr __class__s N/opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/transport/twisted.pyrzTwistedHTTPTransport.__init__su LJKK K2"D))2DCFCCC -,,,,,G*z2TwistedHTTPTransport.async_send..-s, F Fda!aS F F F F F Fr) bodyProducerheadersc|t}|r!d|jjDdS|jdS)Ncg|] }|j Sr!)value)r"fs r zGTwistedHTTPTransport.async_send..on_failure..4sCCCAGCCCr)checkr r*reasons)failureex failure_cbs r on_failurez3TwistedHTTPTransport.async_send..on_failure0s_455B * CCW]-BCCCDDDDD 7=)))))rcjdkr dSfd}t|S)z Success only means that the request succeeded, *not* that the actual submission was successful. cPtjj|dSr ) Exceptioncodephrase)bodyr1responses r on_error_bodyzJTwistedHTTPTransport.async_send..on_success..on_error_body@s)JyNNOOOOOrN)r7r addCallback)r:r;r1 success_cbs` r on_successz3TwistedHTTPTransport.async_send..on_success8sk }## PPPPPP ))55!r) rrequestrrr dictitemsr< addErrback) rurldatar'r=r1dr2r>s `` r async_sendzTwistedHTTPTransport.async_send)s K   S)'$--88D F Fgmmoo F F FFFGG     * * * * *         *      r)__name__ __module__ __qualname__schemerrF __classcell__)rs@rrrsVo .F G G G G G" " " " " " " rrN)__doc__ __future__rraven.utils.compatrraven.transport.baserraven.transport.httprtwisted.web.clientrrr r r twisted.web.http_headersr rrrr!rrrSs'&&&&&'&&&&&//////......100000KKKKK1 1 1 1 1 >=1 1 1 1 1 s 3==