From 99bb7fcc1859615a7b8c2468e7b97d54853bfb10 Mon Sep 17 00:00:00 2001 From: David Evans Date: Sun, 3 Apr 2016 14:43:51 +0100 Subject: Fixed #26452 -- Loaded middleware on server start rather than on first request. --- django/core/handlers/wsgi.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'django') 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: -- cgit v1.3