Включить сжатие gzip для статических файлов в aiohttp

Пытаюсь включить сжатие в aiohttp и в статических файлах. Я попытался создать собственный ответ:

import aiohttp

class GzipResponse(aiohttp.web.StreamResponse):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.enable_compression()

и добавил его как factory в статические маршруты:

app.router.add_static("prefix", "path", response_factory=GzipResponse)

Но это не работает.


person Marco Sulla    schedule 01.12.2016    source источник


Ответы (1)


Возможно, это не работает, потому что в настоящее время sendfile подход не переключается на резерв, если установлено сжатие.

person Andrew Svetlov    schedule 10.12.2016
comment
Могу ошибаться, но похоже, что метод aiohttp.file_sender.FileSender._sendfile_fallback() не сжимает отправленный контент. - person Marco Sulla; 11.12.2016
comment
да. Лично меня сейчас не волнует статическое сжатие файлов - у меня есть более важные задачи в моем списке дел. - person Andrew Svetlov; 12.12.2016