From 28e897d9bc36bcc78dd3cbdb200c36279a7669ce Mon Sep 17 00:00:00 2001 From: David Evans Date: Mon, 4 Apr 2016 21:36:18 +0100 Subject: [PATCH] Remove lazy loading of middleware This mirrors the equivalent change in Django itsef. See: https://code.djangoproject.com/ticket/26452 https://github.com/django/django/commit/99bb7fcc1859615a7b8c2468e7b97d54853bfb10 --- channels/handler.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/channels/handler.py b/channels/handler.py index b9664f3..69ed8a3 100644 --- a/channels/handler.py +++ b/channels/handler.py @@ -7,7 +7,6 @@ import sys import time import traceback from io import BytesIO -from threading import Lock from django import http from django.conf import settings @@ -168,20 +167,16 @@ class AsgiHandler(base.BaseHandler): a HTTP request) """ - initLock = Lock() request_class = AsgiRequest # Size to chunk response bodies into for multiple response messages chunk_size = 512 * 1024 + def __init__(self, *args, **kwargs): + super(AsgiHandler, self).__init__(*args, **kwargs) + self.load_middleware() + def __call__(self, message): - # 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() # Set script prefix from message root_path set_script_prefix(message.get('root_path', '')) signals.request_started.send(sender=self.__class__, message=message)