diff options
author | David Cramer <dcramer@gmail.com> | 2017-02-15 10:19:42 -0800 |
---|---|---|
committer | David Cramer <dcramer@gmail.com> | 2017-02-15 10:20:04 -0800 |
commit | 3991bec5af471ee6031a55e3d7073fab5c6c9f57 (patch) | |
tree | fb48ba0457f46ab829a2d47aee3e3cb4fe6b5b2f /raven/contrib | |
parent | 17b823d69b70d8a92982b140a1763a84905faeb2 (diff) | |
download | raven-3991bec5af471ee6031a55e3d7073fab5c6c9f57.tar.gz |
[django] fix shared request not being available in thread contextfix/django-request
Diffstat (limited to 'raven/contrib')
-rw-r--r-- | raven/contrib/django/client.py | 4 | ||||
-rw-r--r-- | raven/contrib/django/middleware/__init__.py | 19 |
2 files changed, 5 insertions, 18 deletions
diff --git a/raven/contrib/django/client.py b/raven/contrib/django/client.py index 5cd8d53..6f81a62 100644 --- a/raven/contrib/django/client.py +++ b/raven/contrib/django/client.py @@ -27,7 +27,7 @@ except ImportError: from raven.base import Client from raven.contrib.django.utils import get_data_from_template, get_host -from raven.contrib.django.middleware import SentryLogMiddleware +from raven.contrib.django.middleware import SentryMiddleware from raven.utils.compat import string_types, binary_type, iterlists from raven.contrib.django.resolver import RouteResolver from raven.utils.wsgi import get_headers, get_environ @@ -263,7 +263,7 @@ class DjangoClient(Client): data = kwargs['data'] if request is None: - request = getattr(SentryLogMiddleware.thread, 'request', None) + request = getattr(SentryMiddleware.thread, 'request', None) is_http_request = isinstance(request, HttpRequest) if is_http_request: diff --git a/raven/contrib/django/middleware/__init__.py b/raven/contrib/django/middleware/__init__.py index a19fad0..b4c6c20 100644 --- a/raven/contrib/django/middleware/__init__.py +++ b/raven/contrib/django/middleware/__init__.py @@ -76,25 +76,12 @@ class SentryResponseErrorIdMiddleware(MiddlewareMixin): return response -# We need to make a base class for our sentry middleware that is thread -# local but at the same time has the new fnagled middleware mixin applied -# if such a thing exists. -if MiddlewareMixin is object: - _SentryMiddlewareBase = threading.local -else: - _SentryMiddlewareBase = type('_SentryMiddlewareBase', (MiddlewareMixin, threading.local), {}) - - -class SentryMiddleware(_SentryMiddlewareBase): - - # backwards compat - @property - def thread(self): - return self +class SentryMiddleware(MiddlewareMixin): + thread = threading.local() def process_request(self, request): self._txid = None - self.thread.request = request + SentryMiddleware.thread.request = request def process_view(self, request, func, args, kwargs): from raven.contrib.django.models import client |