summaryrefslogtreecommitdiff
path: root/raven/contrib
diff options
context:
space:
mode:
authorDavid Cramer <dcramer@gmail.com>2017-02-15 10:19:42 -0800
committerDavid Cramer <dcramer@gmail.com>2017-02-15 10:20:04 -0800
commit3991bec5af471ee6031a55e3d7073fab5c6c9f57 (patch)
treefb48ba0457f46ab829a2d47aee3e3cb4fe6b5b2f /raven/contrib
parent17b823d69b70d8a92982b140a1763a84905faeb2 (diff)
downloadraven-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.py4
-rw-r--r--raven/contrib/django/middleware/__init__.py19
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