diff options
| author | David Evans <d@evans.io> | 2016-04-03 14:43:51 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-04-04 10:12:41 -0400 |
| commit | 99bb7fcc1859615a7b8c2468e7b97d54853bfb10 (patch) | |
| tree | 0a29d604e71f8ac1de258ca1b641199a3294cc2d /django | |
| parent | 23aa700b788e073e6efc4585425c0bd6d3092569 (diff) | |
Fixed #26452 -- Loaded middleware on server start rather than on first request.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/handlers/wsgi.py | 14 |
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: |
