sip*_*uel 6 java http-compression undertow
我有一个程序化的Undertow服务器设置.静态内容也由Undertow提供,没有反向代理.Undertow启动的Java代码如下所示:
ResourceManager resourceManager =
new FileResourceManager(new File("deploymentDir"), 100);
DeploymentInfo servletBuilder = Servlets.deployment()
.setResourceManager(resourceManager)
.setDeploymentName("testDeployment")
.setContextPath("/");
DeploymentManager manager = Servlets.defaultContainer()
.addDeployment(servletBuilder);
manager.deploy();
Undertow.Builder builder = Undertow.builder();
builder.addHttpListener(8080, domainName);
PathHandler path = Handlers.path(Handlers.redirect("/"))
.addPrefixPath("/", manager.start());
Undertow server = builder.setHandler(path).build();
server.start();
Run Code Online (Sandbox Code Playgroud)
我想知道一个gzip服务器如何在Undertow中响应?
谢谢,Vitaliy.
我不得不GzipContentEncodingTestCase在Undertow的源代码中查看它的工作原理.一个人必须EncodingHandler使用适当的参数创建一个,然后调用setNext()以便将其链接到PathHandler:
PathHandler path = Handlers.path(Handlers.redirect("/"))
.addPrefixPath("/", manager.start());
final EncodingHandler handler =
new EncodingHandler(new ContentEncodingRepository()
.addEncodingHandler("gzip",
new GzipEncodingProvider(), 50,
Predicates.parse("max-content-size[5]")))
.setNext(path);
// ...
Undertow server = builder.setHandler(handler).build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2587 次 |
| 最近记录: |