summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cramer <dcramer@gmail.com>2015-05-13 16:29:12 -0700
committerDavid Cramer <dcramer@gmail.com>2015-05-13 16:29:12 -0700
commit6f81614e66dca779ea5bbae586a1881ff5c5f64a (patch)
treed5608bfed9ece9c7f82d41e3d92a480ba9408dcf
parent824e48761b9e71fe9f11385014de88907e9c04a6 (diff)
downloadraven-6f81614e66dca779ea5bbae586a1881ff5c5f64a.tar.gz
Standardize transport initialization/options (Fixes GH-608)
-rw-r--r--raven/transport/gevent.py8
-rw-r--r--raven/transport/http.py2
-rw-r--r--raven/transport/requests.py12
-rw-r--r--raven/transport/tornado.py7
-rw-r--r--raven/transport/twisted.py10
5 files changed, 10 insertions, 29 deletions
diff --git a/raven/transport/gevent.py b/raven/transport/gevent.py
index 76ac559..3f7c208 100644
--- a/raven/transport/gevent.py
+++ b/raven/transport/gevent.py
@@ -26,15 +26,13 @@ class GeventedHTTPTransport(AsyncTransport, HTTPTransport):
scheme = ['gevent+http', 'gevent+https']
- def __init__(self, parsed_url, maximum_outstanding_requests=100):
+ def __init__(self, parsed_url, maximum_outstanding_requests=100, *args, **kwargs):
if not has_gevent:
raise ImportError('GeventedHTTPTransport requires gevent.')
- self._lock = Semaphore(maximum_outstanding_requests)
- super(GeventedHTTPTransport, self).__init__(parsed_url)
+ self._lock = Semaphore(maximum_outstanding_requests)
- # remove the gevent+ from the protocol, as it is not a real protocol
- self._url = self._url.split('+', 1)[-1]
+ super(GeventedHTTPTransport, self).__init__(parsed_url, *args, **kwargs)
def async_send(self, data, headers, success_cb, failure_cb):
"""
diff --git a/raven/transport/http.py b/raven/transport/http.py
index c6d5747..10bb0af 100644
--- a/raven/transport/http.py
+++ b/raven/transport/http.py
@@ -23,7 +23,7 @@ class HTTPTransport(Transport):
self.check_scheme(parsed_url)
self._parsed_url = parsed_url
- self._url = parsed_url.geturl().split('+', 1)[-1]
+ self._url = parsed_url.geturl().rsplit('+', 1)[-1]
if isinstance(timeout, six.string_types):
timeout = int(timeout)
diff --git a/raven/transport/requests.py b/raven/transport/requests.py
index 29d9da4..f51c32a 100644
--- a/raven/transport/requests.py
+++ b/raven/transport/requests.py
@@ -7,7 +7,6 @@ raven.transport.requests
"""
from __future__ import absolute_import
-from raven.conf import defaults
from raven.transport.http import HTTPTransport
try:
@@ -21,18 +20,11 @@ class RequestsHTTPTransport(HTTPTransport):
scheme = ['requests+http', 'requests+https']
- def __init__(self, parsed_url, timeout=defaults.TIMEOUT, verify_ssl=True,
- ca_certs=defaults.CA_BUNDLE):
+ def __init__(self, *args, **kwargs):
if not has_requests:
raise ImportError('RequestsHTTPTransport requires requests.')
- super(RequestsHTTPTransport, self).__init__(parsed_url,
- timeout=timeout,
- verify_ssl=verify_ssl,
- ca_certs=ca_certs)
-
- # remove the requests+ from the protocol, as it is not a real protocol
- self._url = self._url.split('+', 1)[-1]
+ super(RequestsHTTPTransport, self).__init__(*args, **kwargs)
def send(self, data, headers):
if self.verify_ssl:
diff --git a/raven/transport/tornado.py b/raven/transport/tornado.py
index 16425d8..0dcc52c 100644
--- a/raven/transport/tornado.py
+++ b/raven/transport/tornado.py
@@ -21,14 +21,11 @@ class TornadoHTTPTransport(HTTPTransport):
scheme = ['tornado+http', 'tornado+https']
- def __init__(self, parsed_url, **kwargs):
+ def __init__(self, parsed_url, *args, **kwargs):
if not has_tornado:
raise ImportError('TornadoHTTPTransport requires tornado.')
- super(TornadoHTTPTransport, self).__init__(parsed_url, **kwargs)
-
- # remove the tornado+ from the protocol, as it is not a real protocol
- self._url = self._url.split('+', 1)[-1]
+ super(TornadoHTTPTransport, self).__init__(parsed_url, *args, **kwargs)
def send(self, data, headers):
kwargs = dict(method='POST', headers=headers, body=data)
diff --git a/raven/transport/twisted.py b/raven/transport/twisted.py
index c69465a..fb04272 100644
--- a/raven/transport/twisted.py
+++ b/raven/transport/twisted.py
@@ -8,7 +8,6 @@ raven.transport.twisted
from __future__ import absolute_import
import io
-import logging
from raven.transport.base import AsyncTransport
from raven.transport.http import HTTPTransport
@@ -25,18 +24,13 @@ except:
class TwistedHTTPTransport(AsyncTransport, HTTPTransport):
-
scheme = ['twisted+http', 'twisted+https']
- def __init__(self, parsed_url):
+ def __init__(self, parsed_url, *args, **kwargs):
if not has_twisted:
raise ImportError('TwistedHTTPTransport requires twisted.web.')
- super(TwistedHTTPTransport, self).__init__(parsed_url)
- self.logger = logging.getLogger('sentry.errors')
-
- # remove the twisted+ from the protocol, as it is not a real protocol
- self._url = self._url.split('+', 1)[-1]
+ super(TwistedHTTPTransport, self).__init__(*args, **kwargs)
# Import reactor as late as possible.
from twisted.internet import reactor