summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorDavid Evans <d@evans.io>2016-04-03 14:43:51 +0100
committerTim Graham <timograham@gmail.com>2016-04-04 10:12:41 -0400
commit99bb7fcc1859615a7b8c2468e7b97d54853bfb10 (patch)
tree0a29d604e71f8ac1de258ca1b641199a3294cc2d /django
parent23aa700b788e073e6efc4585425c0bd6d3092569 (diff)
Fixed #26452 -- Loaded middleware on server start rather than on first request.
Diffstat (limited to 'django')
-rw-r--r--django/core/handlers/wsgi.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py
index 715ca29d30..c4de78ea60 100644
--- a/django/core/handlers/wsgi.py
+++ b/django/core/handlers/wsgi.py
@@ -6,7 +6,6 @@ import logging
import re
import sys
from io import BytesIO
-from threading import Lock
from django import http
from django.conf import settings
@@ -147,18 +146,13 @@ class WSGIRequest(http.HttpRequest):
class WSGIHandler(base.BaseHandler):
- initLock = Lock()
request_class = WSGIRequest
- def __call__(self, environ, start_response):
- # Set up middleware if needed. We couldn't do this earlier, because
- # settings weren't available.
- if self._request_middleware is None:
- with self.initLock:
- # Check that middleware is still uninitialized.
- if self._request_middleware is None:
- self.load_middleware()
+ def __init__(self, *args, **kwargs):
+ super(WSGIHandler, self).__init__(*args, **kwargs)
+ self.load_middleware()
+ def __call__(self, environ, start_response):
set_script_prefix(get_script_name(environ))
signals.request_started.send(sender=self.__class__, environ=environ)
try: