Играть!Framework 2.6!Gzip-фильтр, если размер ответа превышает 50 байт - PullRequest
0 голосов
/ 24 февраля 2019

Я сейчас работаю с Play!Рамочная 2.6.Я смотрю в gzipping мой ответ, если они больше, чем 80 байтов.Тем не менее, с помощью Framework нет способа выполнить это.На основании этой документации я могу использовать фрагмент кода ff

new GzipFilter(shouldGzip = (request, response) =>
  response.body.contentType.exists(_.startsWith("text/html")))

Однако в нем не указано, где я могу его создать.Любая идея, как я могу указать, если он должен gzip определенный ответ, если его больше, чем 50 байтов?

1 Ответ

0 голосов
/ 25 февраля 2019

По умолчанию тела ответов передаются в потоковом режиме, что означает, что вы не знаете, насколько большим будет размер тела ответа.

Если вы уже знаете размер тела ответа (например, вы обслуживаете файл из Amazon S3, уже знаете размер файла) Вы можете установить заголовок Content-Length и проверить его в GzipFilter.

Вероятно, вам также понадобится реализовать собственный GzipFilter и адаптировать его так, чтобы он проверял Content-Length.

...