£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Yc           @@  s   d  Z  d d l m Z d d l m Z d d l m Z d d l m Z yB d d l	 m
 Z
 m Z m Z m Z m Z d d l m Z e Z Wn e k
 r e Z n Xd e e f d	     YZ d
 S(   s   
raven.transport.twisted
~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i    (   t   absolute_import(   t   BytesIO(   t   AsyncTransport(   t   HTTPTransport(   t   Agentt   FileBodyProducert   HTTPConnectionPoolt   ResponseNeverReceivedt   readBody(   t   Headerst   TwistedHTTPTransportc           B@  s&   e  Z d  d g Z d   Z d   Z RS(   s   twisted+https   twisted+httpsc         O@  s]   t  s t d   n  t t |   j | |   d d l m } t | d t |  |  _	 d  S(   Ns*   TwistedHTTPTransport requires twisted.web.i    (   t   reactort   pool(
   t   has_twistedt   ImportErrort   superR
   t   __init__t   twisted.internetR   R   R   t   _agent(   t   selft   argst   kwargsR   (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyR      s
    c   	   
   @  s   |  j  j d | d t t |   d t t d   | j   D   }   f d   }    f d   } | j |  j |  d  S(   Nt   POSTt   bodyProducert   headersc         s@  s$   |  ] \ } } | | g f Vq d  S(   N(    (   t   .0t   kt   v(    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pys	   <genexpr>-   s    c         @  sO   |  j  t  } | r>   g  |  j j D] } | j ^ q%  n   |  j  d  S(   N(   t   checkR   t   valuet   reasons(   t   failuret   ext   f(   t
   failure_cb(    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyt
   on_failure0   s    )c         @  sB     j  d k r    n%    f d   } t    j |  Sd S(   s   
            Success only means that the request succeeded, *not* that the
            actual submission was successful.
            i   c         @  s      t   j  j |    d  S(   N(   t	   Exceptiont   codet   phrase(   t   body(   R"   t   response(    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyt   on_error_body@   s    N(   R%   R   t   addCallback(   R(   R)   (   R"   t
   success_cb(   R(   sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyt
   on_success8   s
    
(	   R   t   requestR   R   R	   t   dictt   itemsR*   t
   addErrback(	   R   t   urlt   dataR   R+   R"   t   dR#   R,   (    (   R"   R+   sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyt
   async_send)   s    		%	(   t   __name__t
   __module__t   schemeR   R4   (    (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyR
      s   	N(   t   __doc__t
   __future__R    t   raven.utils.compatR   t   raven.transport.baseR   t   raven.transport.httpR   t   twisted.web.clientR   R   R   R   R   t   twisted.web.http_headersR	   t   TrueR   R   t   FalseR
   (    (    (    sH   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/twisted.pyt   <module>   s   (

