2016-12-01 95 views
1

我試圖在靜態文件中的aiohttp中啓用壓縮。我試圖創建一個自定義的響應:在aiohttp中爲靜態文件啓用gzip壓縮

import aiohttp 

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

,並增加一條,作爲工廠的靜態路由:

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

,但它不工作。

回答

1

也許它不起作用,因爲如果設置了壓縮,當前sendfile方法不會切換回退。

+0

我可能是錯的,但似乎'aiohttp.file_sender.FileSender._sendfile_fallback()'方法似乎不壓縮發送的內容。 –

+0

是的。 個人我現在不在意靜態文件壓縮 - 我的待辦事項列表中有更重要的問題。 –

+0

不是問題,nginx是要走的路:) –