Fixed #31928 -- Fixed detecting an async get_response in various middlewares.

SecurityMiddleware and the three cache middlewares were not calling
super().__init__() during their initialization or calling the required
MiddlewareMixin._async_check() method.

This made the middlewares not properly present as coroutine and
confused the middleware chain when used in a fully async context.

Thanks Kordian Kowalski for the report.
This commit is contained in:
Kevin Michel 2020-08-24 22:25:33 +02:00 committed by Mariusz Felisiak
parent ea57a2834f
commit 825ce75fae
5 changed files with 39 additions and 17 deletions

View file

@ -48,3 +48,6 @@ Bugfixes
``CommonPasswordValidator`` and ``settings.py`` generated by the
:djadmin:`startproject` command, when user didn't have permissions to all
intermediate directories in a Django installation path (:ticket:`31912`).
* Fixed detecting an async ``get_response`` callable in various builtin
middlewares (:ticket:`31928`).

View file

@ -371,6 +371,7 @@ metre
MiB
micrometre
middleware
middlewares
migrationname
millimetre
Minification