Я хотел бы добавить тест, чтобы убедиться, что GzipFilter не отключен
Я включил GzipFilter, и когда приложение работает, ответы сжимаются, как и ожидалось, но в тесте это не так.Хотя, конфигурация показывает, что GzipFilter включен
play {
i18n.langs = ["en"]
server.netty.maxInitialLineLength = 16384
modules {
enabled += mdsol.clients.AuthenticatedWSClientModule
enabled += mdsol.clients.MAuthServiceModule
enabled += jp.co.bizreach.trace.play.module.ZipkinModule
}
filters {
enabled += filters.HeaderValidatorFilter
enabled += jp.co.bizreach.trace.play.filter.ZipkinTraceFilter
enabled += filters.CSelectionsFilter
enabled += filters.XMwsUserFilter
enabled += play.filters.gzip.GzipFilter
headers {
frameOptions = "SAMEORIGIN"
}
gzip {
chunkedThreshold = 100k
compressionLevel = 9
contentType {
# If non empty, then a response will only be compressed if its content type is in this list.
whiteList = ["application/javascript", "application/json", "text/css"]
}
}
}
}
class GzipFilterSpec
extends PlaySpec
with GuiceOneServerPerSuite
with FutureAwaits
with DefaultAwaitTimeout {
override def fakeApplication(): Application =
new GuiceApplicationBuilder()
.loadConfig(env => Configuration.load(env))
.build()
"Server" must {
"compress responses" in {
val wsClient: WSClient = app.injector.instanceOf[WSClient]
val appStatusUrl = s"http://localhost:$port/app_status"
val gzipResponse: WSResponse = await(
wsClient
.url(appStatusUrl)
.addHttpHeaders(ACCEPT_ENCODING -> "gzip")
.get())
val response: WSResponse = await(wsClient.url(appStatusUrl).get())
println(response.body)
println(gzipResponse.body)
checkGzippedBody(gzipResponse, response.body)
}
}
}
Есть идеи?