defload_middleware(self):
self._request_middleware=[]
self._view_middleware=[]
self._template_response_middleware=[]
self._response_middleware=[]
self._exception_middleware=[]if settings.MIDDLEWARE isNone:
warnings.warn("Old-style middleware using settings.MIDDLEWARE_CLASSES is"
"deprecated. Update your middleware and use settings.MIDDLEWARE"
"instead.", RemovedInDjango20Warning
)
handler=convert_exception_to_response(self._legacy_get_response)for middleware_path insettings.MIDDLEWARE_CLASSES:
mw_class=import_string(middleware_path)try:
mw_instance=mw_class()exceptMiddlewareNotUsed as exc:ifsettings.DEBUG:ifsix.text_type(exc):
logger.debug('MiddlewareNotUsed(%r): %s', middleware_path, exc)else:
logger.debug('MiddlewareNotUsed: %r', middleware_path)continue
if hasattr(mw_instance, 'process_request'):
self._request_middleware.append(mw_instance.process_request)if hasattr(mw_instance, 'process_view'):
self._view_middleware.append(mw_instance.process_view)if hasattr(mw_instance, 'process_template_response'):
self._template_response_middleware.insert(0, mw_instance.process_template_response)if hasattr(mw_instance, 'process_response'):
self._response_middleware.insert(0, mw_instance.process_response)if hasattr(mw_instance, 'process_exception'):
self._exception_middleware.insert(0, mw_instance.process_exception)else:
handler=convert_exception_to_response(self._get_response)for middleware_path inreversed(settings.MIDDLEWARE):
middleware=import_string(middleware_path)try:
mw_instance=middleware(handler)exceptMiddlewareNotUsed as exc:ifsettings.DEBUG:ifsix.text_type(exc):
logger.debug('MiddlewareNotUsed(%r): %s', middleware_path, exc)else:
logger.debug('MiddlewareNotUsed: %r', middleware_path)continue
if mw_instance isNone:raiseImproperlyConfigured('Middleware factory %s returned None.' %middleware_path
)if hasattr(mw_instance, 'process_view'):
self._view_middleware.insert(0, mw_instance.process_view)if hasattr(mw_instance, 'process_template_response'):
self._template_response_middleware.append(mw_instance.process_template_response)if hasattr(mw_instance, 'process_exception'):
self._exception_middleware.append(mw_instance.process_exception)
handler=convert_exception_to_response(mw_instance)
self._middleware_chain= handler