Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
alt
/
python35
/
lib
/
python3.5
/
site-packages
/
raven
/
transport
/
__pycache__
/
File Content:
registry.cpython-35.opt-1.pyc
��Y. � @ 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 Gd d � d e � Z e e e e e e e e g Z d S)z� raven.transport.registry ~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. � )�absolute_import)�EventletHTTPTransport)�DuplicateScheme)� HTTPTransport)�GeventedHTTPTransport)�RequestsHTTPTransport)�ThreadedHTTPTransport)�ThreadedRequestsHTTPTransport)�TwistedHTTPTransport)�TornadoHTTPTransport)�urlparsec @ s[ e Z d Z d d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d S)�TransportRegistryNc C s: i | _ i | _ | r6 x | D] } | j | � q Wd S)N)�_schemes�_transports�register_transport)�selfZ transports� transport� r �/registry.py�__init__ s zTransportRegistry.__init__c C s` t | d � s# t | j d � r8 t d | j j � � x! | j D] } | j | | � qB Wd S)N�scheme�__iter__z$Transport %s must have a scheme list)�hasattrr �AttributeError� __class__�__name__�register_scheme)r r r r r r r ! s #z$TransportRegistry.register_transportc C s6 | | j k r t � � t j | � | | j | <d S)zA It is possible to inject new schemes at runtime N)r r r r )r r �clsr r r r ( s z!TransportRegistry.register_schemec C s | | j k S)N)r )r r r r r �supported_scheme3 s z"TransportRegistry.supported_schemec K sb | j � } | | j k rW t j | j d � d � } | j | j | | � | j | <| j | S)N�?r )Zgeturlr r �splitr r )r Z parsed_urlZoptionsZfull_urlr r r � get_transport6 s zTransportRegistry.get_transportc C s | j | S)N)r )r r r r r �get_transport_cls>