Можно ли установить размеры загрузки BLOB-объектов в приложениях GAE теперь, когда заголовок Content-Length не разрешен? - PullRequest
8 голосов
/ 24 декабря 2010

После обновления API AppEngine, которое вышло несколько недель назад, в документации по классу Python Response здесь появился раздел замечательный"Запрещенные заголовки ответа HTTP", который объясняет перечисленные заголовки не могут быть установлены в целях безопасности.

Это все хорошо, за исключением того, что теперь все мои загрузки BLOB-объектов имеют неизвестную длину, в результате чего все основные браузеры показывают неизвестные показатели прогресса длины! Достаточно сказать, что пользователи (и я) находят это довольно раздражающим для больших загрузок, поскольку нет никакого способа предположить, сколько времени займет загрузка или как далеко они могут продвинуться. Я исправил это раньше, установив заголовок Content-Length на основе информационных записей большого двоичного объекта в хранилище данных, но теперь, когда это запрещено, есть ли другой способ сделать это? Любые идеи высоко ценится!

1 Ответ

1 голос
/ 03 февраля 2011

Передаются ли ваши файлы с помощью

Transfer-Encoding: Chunked

Тогда возможно отправлять эти файлы через HTTP без заголовка Content-Length:.См. HTTP / 1.1 RFC на Кодировка передачи по частям .Я предполагаю, что вы должны быть в состоянии определить свой собственный обработчик для таких методов, как get и т. Д., И создать сами ответы HTTP с помощью webapp.WSGIApplication.OTOH, Адриан Головатый так и не получил ответа на этот же вопрос.

...