2.3.0 Примечания к выпуску

В Channels 2.3.0 обновлена обработка тела HTTP-запроса AsgiHandler для использования спулированного временного файла, вместо чтения всего тела запроса в память.

Это значительно снижает максимальные требования к памяти при обслуживании представлений Django, защищает от DoS-атак, но при этом позволяет загружать большие файлы - сочетание, которое раньше было трудным.

Большое спасибо Ивану Ергунову за работу над улучшениями! 🎩

Обратные несовместимые изменения

В результате переработанной обработки тела, AsgiRequest.__init__() адаптируется к ожиданию файлоподобного stream, а не всего body в виде байтов.

Тестовые примеры, инстанцирующие запросы напрямую, вероятно, придется обновить, чтобы обернуть предоставленный body в, например, io.BytesIO.

Далее…

Мы хотим решить несколько проблем вокруг AsyncHttpConsumer. Любая человеческая сила, способная помочь в этом, искренне признательна. 🙂 .

Вернуться на верх