Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > site-packages > raven > transport
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
__init__.py | File | 784 bytes | April 17 2025 13:10:58. | |
base.py | File | 1219 bytes | April 17 2025 13:10:58. | |
eventlet.py | File | 1535 bytes | April 17 2025 13:10:58. | |
exceptions.py | File | 517 bytes | April 17 2025 13:10:58. | |
gevent.py | File | 1658 bytes | April 17 2025 13:10:58. | |
http.py | File | 1819 bytes | April 17 2025 13:10:58. | |
registry.py | File | 2606 bytes | April 17 2025 13:10:58. | |
requests.py | File | 1024 bytes | April 17 2025 13:10:58. | |
threaded.py | File | 5102 bytes | April 17 2025 13:10:58. | |
threaded_requests.py | File | 1094 bytes | April 17 2025 13:10:58. | |
tornado.py | File | 1833 bytes | April 17 2025 13:10:58. | |
twisted.py | File | 2322 bytes | April 17 2025 13:10:58. |
""" raven.transport.registry ~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. """ from __future__ import absolute_import # TODO(dcramer): we really should need to import all of these by default from raven.transport.eventlet import EventletHTTPTransport from raven.transport.exceptions import DuplicateScheme from raven.transport.http import HTTPTransport from raven.transport.gevent import GeventedHTTPTransport from raven.transport.requests import RequestsHTTPTransport from raven.transport.threaded import ThreadedHTTPTransport from raven.transport.threaded_requests import ThreadedRequestsHTTPTransport from raven.transport.twisted import TwistedHTTPTransport from raven.transport.tornado import TornadoHTTPTransport from raven.utils import urlparse class TransportRegistry(object): def __init__(self, transports=None): # setup a default list of senders self._schemes = {} self._transports = {} if transports: for transport in transports: self.register_transport(transport) def register_transport(self, transport): if not hasattr(transport, 'scheme') or not hasattr(transport.scheme, '__iter__'): raise AttributeError('Transport %s must have a scheme list', transport.__class__.__name__) for scheme in transport.scheme: self.register_scheme(scheme, transport) def register_scheme(self, scheme, cls): """ It is possible to inject new schemes at runtime """ if scheme in self._schemes: raise DuplicateScheme() urlparse.register_scheme(scheme) # TODO (vng): verify the interface of the new class self._schemes[scheme] = cls def supported_scheme(self, scheme): return scheme in self._schemes def get_transport(self, parsed_url, **options): full_url = parsed_url.geturl() if full_url not in self._transports: # Remove the options from the parsed_url parsed_url = urlparse.urlparse(full_url.split('?')[0]) self._transports[full_url] = self._schemes[parsed_url.scheme](parsed_url, **options) return self._transports[full_url] def get_transport_cls(self, scheme): return self._schemes[scheme] default_transports = [ HTTPTransport, ThreadedHTTPTransport, GeventedHTTPTransport, TwistedHTTPTransport, RequestsHTTPTransport, ThreadedRequestsHTTPTransport, TornadoHTTPTransport, EventletHTTPTransport, ]
SILENT KILLER Tool