Fixed #10470 -- Fixed a race condition in middleware initialization.
Thanks to Travis Terry and mrts. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10036 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a152909069
commit
6483fdf1fa
|
@ -24,10 +24,11 @@ class BaseHandler(object):
|
||||||
"""
|
"""
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core import exceptions
|
from django.core import exceptions
|
||||||
self._request_middleware = []
|
|
||||||
self._view_middleware = []
|
self._view_middleware = []
|
||||||
self._response_middleware = []
|
self._response_middleware = []
|
||||||
self._exception_middleware = []
|
self._exception_middleware = []
|
||||||
|
|
||||||
|
request_middleware = []
|
||||||
for middleware_path in settings.MIDDLEWARE_CLASSES:
|
for middleware_path in settings.MIDDLEWARE_CLASSES:
|
||||||
try:
|
try:
|
||||||
dot = middleware_path.rindex('.')
|
dot = middleware_path.rindex('.')
|
||||||
|
@ -57,6 +58,10 @@ class BaseHandler(object):
|
||||||
if hasattr(mw_instance, 'process_exception'):
|
if hasattr(mw_instance, 'process_exception'):
|
||||||
self._exception_middleware.insert(0, mw_instance.process_exception)
|
self._exception_middleware.insert(0, mw_instance.process_exception)
|
||||||
|
|
||||||
|
# We only assign to this when initialization is complete as it is used
|
||||||
|
# as a flag for initialization being complete.
|
||||||
|
self._request_middleware = request_middleware
|
||||||
|
|
||||||
def get_response(self, request):
|
def get_response(self, request):
|
||||||
"Returns an HttpResponse object for the given HttpRequest"
|
"Returns an HttpResponse object for the given HttpRequest"
|
||||||
from django.core import exceptions, urlresolvers
|
from django.core import exceptions, urlresolvers
|
||||||
|
|
Loading…
Reference in New Issue