Skip to content
This repository was archived by the owner on Oct 23, 2023. It is now read-only.

Commit 6f81614

Browse files
committed
Standardize transport initialization/options (Fixes GH-608)
1 parent 824e487 commit 6f81614

5 files changed

Lines changed: 10 additions & 29 deletions

File tree

raven/transport/gevent.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@ class GeventedHTTPTransport(AsyncTransport, HTTPTransport):
2626

2727
scheme = ['gevent+http', 'gevent+https']
2828

29-
def __init__(self, parsed_url, maximum_outstanding_requests=100):
29+
def __init__(self, parsed_url, maximum_outstanding_requests=100, *args, **kwargs):
3030
if not has_gevent:
3131
raise ImportError('GeventedHTTPTransport requires gevent.')
32-
self._lock = Semaphore(maximum_outstanding_requests)
3332

34-
super(GeventedHTTPTransport, self).__init__(parsed_url)
33+
self._lock = Semaphore(maximum_outstanding_requests)
3534

36-
# remove the gevent+ from the protocol, as it is not a real protocol
37-
self._url = self._url.split('+', 1)[-1]
35+
super(GeventedHTTPTransport, self).__init__(parsed_url, *args, **kwargs)
3836

3937
def async_send(self, data, headers, success_cb, failure_cb):
4038
"""

raven/transport/http.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self, parsed_url, timeout=defaults.TIMEOUT, verify_ssl=True,
2323
self.check_scheme(parsed_url)
2424

2525
self._parsed_url = parsed_url
26-
self._url = parsed_url.geturl().split('+', 1)[-1]
26+
self._url = parsed_url.geturl().rsplit('+', 1)[-1]
2727

2828
if isinstance(timeout, six.string_types):
2929
timeout = int(timeout)

raven/transport/requests.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"""
88
from __future__ import absolute_import
99

10-
from raven.conf import defaults
1110
from raven.transport.http import HTTPTransport
1211

1312
try:
@@ -21,18 +20,11 @@ class RequestsHTTPTransport(HTTPTransport):
2120

2221
scheme = ['requests+http', 'requests+https']
2322

24-
def __init__(self, parsed_url, timeout=defaults.TIMEOUT, verify_ssl=True,
25-
ca_certs=defaults.CA_BUNDLE):
23+
def __init__(self, *args, **kwargs):
2624
if not has_requests:
2725
raise ImportError('RequestsHTTPTransport requires requests.')
2826

29-
super(RequestsHTTPTransport, self).__init__(parsed_url,
30-
timeout=timeout,
31-
verify_ssl=verify_ssl,
32-
ca_certs=ca_certs)
33-
34-
# remove the requests+ from the protocol, as it is not a real protocol
35-
self._url = self._url.split('+', 1)[-1]
27+
super(RequestsHTTPTransport, self).__init__(*args, **kwargs)
3628

3729
def send(self, data, headers):
3830
if self.verify_ssl:

raven/transport/tornado.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,11 @@ class TornadoHTTPTransport(HTTPTransport):
2121

2222
scheme = ['tornado+http', 'tornado+https']
2323

24-
def __init__(self, parsed_url, **kwargs):
24+
def __init__(self, parsed_url, *args, **kwargs):
2525
if not has_tornado:
2626
raise ImportError('TornadoHTTPTransport requires tornado.')
2727

28-
super(TornadoHTTPTransport, self).__init__(parsed_url, **kwargs)
29-
30-
# remove the tornado+ from the protocol, as it is not a real protocol
31-
self._url = self._url.split('+', 1)[-1]
28+
super(TornadoHTTPTransport, self).__init__(parsed_url, *args, **kwargs)
3229

3330
def send(self, data, headers):
3431
kwargs = dict(method='POST', headers=headers, body=data)

raven/transport/twisted.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from __future__ import absolute_import
99

1010
import io
11-
import logging
1211

1312
from raven.transport.base import AsyncTransport
1413
from raven.transport.http import HTTPTransport
@@ -25,18 +24,13 @@
2524

2625

2726
class TwistedHTTPTransport(AsyncTransport, HTTPTransport):
28-
2927
scheme = ['twisted+http', 'twisted+https']
3028

31-
def __init__(self, parsed_url):
29+
def __init__(self, parsed_url, *args, **kwargs):
3230
if not has_twisted:
3331
raise ImportError('TwistedHTTPTransport requires twisted.web.')
3432

35-
super(TwistedHTTPTransport, self).__init__(parsed_url)
36-
self.logger = logging.getLogger('sentry.errors')
37-
38-
# remove the twisted+ from the protocol, as it is not a real protocol
39-
self._url = self._url.split('+', 1)[-1]
33+
super(TwistedHTTPTransport, self).__init__(*args, **kwargs)
4034

4135
# Import reactor as late as possible.
4236
from twisted.internet import reactor

0 commit comments

Comments
 (0)