bg. dZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZdd lmZdd lmZGd deZeee ee eeegZdS)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)urlparsec4eZdZddZdZdZdZdZdZdS) TransportRegistryNc^i|_i|_|r|D]}||dSdSN)_schemes _transportsregister_transport)self transports transports O/opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/transport/registry.py__init__zTransportRegistry.__init__sS   3' 3 3 '' 2222 3 3 3 3ct|drt|jdstd|jj|jD]}|||dS)Nscheme__iter__z$Transport %s must have a scheme list)hasattrrAttributeError __class____name__register_scheme)rrrs rrz$TransportRegistry.register_transport!svy(++ g79;KZ3X3X g !GI\Ieff f& 4 4F   3 3 3 3 4 4rcp||jvrttj|||j|<dS)zA It is possible to inject new schemes at runtime N)rrr r")rrclss rr"z!TransportRegistry.register_scheme(s@ T] " "!## # ((( # frc||jvSrrrrs rsupported_schemez"TransportRegistry.supported_scheme3s&&rc |}||jvrNtj|dd}|j|j|fi||j|<|j|S)N?r)geturlrr splitrr)r parsed_urloptionsfull_urls r get_transportzTransportRegistry.get_transport6sz$$&& 4+ + +!*8>>#+>+>q+ABBJ)Iz7H)I*)`)`X_)`)`D X &))rc|j|Srr&r's rget_transport_clsz#TransportRegistry.get_transport_cls>s}V$$rr) r! __module__ __qualname__rrr"r(r0r2rrrrss3333444 $ $ $'''***%%%%%rrN)__doc__ __future__rraven.transport.eventletrraven.transport.exceptionsrraven.transport.httprraven.transport.geventrraven.transport.requestsrraven.transport.threadedr !raven.transport.threaded_requestsr raven.transport.twistedr raven.transport.tornador raven.utilsr objectrdefault_transportsr5rrrDs,'&&&&&;:::::666666......888888::::::::::::KKKKKK888888888888 (%(%(%(%(%(%(%(%X! r