2.3.0 Примечания к выпуску¶
В Channels 2.3.0 обновлена обработка тела HTTP-запроса AsgiHandler
для использования спулированного временного файла, вместо чтения всего тела запроса в память.
Это значительно снижает максимальные требования к памяти при обслуживании представлений Django, защищает от DoS-атак, но при этом позволяет загружать большие файлы - сочетание, которое раньше было трудным.
Большое спасибо Ивану Ергунову за работу над улучшениями! 🎩
Обратные несовместимые изменения¶
В результате переработанной обработки тела, AsgiRequest.__init__()
адаптируется к ожиданию файлоподобного stream
, а не всего body
в виде байтов.
Тестовые примеры, инстанцирующие запросы напрямую, вероятно, придется обновить, чтобы обернуть предоставленный body
в, например, io.BytesIO
.
Далее…¶
Мы хотим решить несколько проблем вокруг AsyncHttpConsumer
. Любая человеческая сила, способная помочь в этом, искренне признательна. 🙂 .