£Á°è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 d d l	 m
 Z
 d d l m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z d d l m Z d e f d     YZ e e e
 e e e e e g Z d S(   s   
raven.transport.registry
~~~~~~~~~~~~~~~~~~~~~~~~

: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   EventletHTTPTransport(   t   DuplicateScheme(   t   HTTPTransport(   t   GeventedHTTPTransport(   t   RequestsHTTPTransport(   t   ThreadedHTTPTransport(   t   ThreadedRequestsHTTPTransport(   t   TwistedHTTPTransport(   t   TornadoHTTPTransport(   t   urlparset   TransportRegistryc           B@  sA   e  Z d d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@  s=   i  |  _  i  |  _ | r9 x | D] } |  j |  q Wn  d  S(   N(   t   _schemest   _transportst   register_transport(   t   selft
   transportst	   transport(    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt   __init__   s
    		c         C@  sc   t  | d  s# t  | j d  r; t d | j j   n  x! | j D] } |  j | |  qE Wd  S(   Nt   schemet   __iter__s$   Transport %s must have a scheme list(   t   hasattrR   t   AttributeErrort	   __class__t   __name__t   register_scheme(   R   R   R   (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyR   !   s    #c         C@  s9   | |  j  k r t    n  t j |  | |  j  | <d S(   sA   
        It is possible to inject new schemes at runtime
        N(   R   R   R
   R   (   R   R   t   cls(    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyR   (   s    c         C@  s   | |  j  k S(   N(   R   (   R   R   (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt   supported_scheme3   s    c         K@  se   | j    } | |  j k rZ t j | j d  d  } |  j | j | |  |  j | <n  |  j | S(   Nt   ?i    (   t   geturlR   R
   t   splitR   R   (   R   t
   parsed_urlt   optionst   full_url(    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt   get_transport6   s
    #c         C@  s   |  j  | S(   N(   R   (   R   R   (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt   get_transport_cls>   s    N(	   R   t
   __module__t   NoneR   R   R   R   R"   R#   (    (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyR      s   					N(   t   __doc__t
   __future__R    t   raven.transport.eventletR   t   raven.transport.exceptionsR   t   raven.transport.httpR   t   raven.transport.geventR   t   raven.transport.requestsR   t   raven.transport.threadedR   t!   raven.transport.threaded_requestsR   t   raven.transport.twistedR   t   raven.transport.tornadoR	   t   raven.utilsR
   t   objectR   t   default_transports(    (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt   <module>   s(   ,