The answer from @siphiuel looks correct to me.
However, a GZIP-encoded EncodingHandler can also be created as shown below:
HttpHandler pathHandler = Handlers.path(Handlers.redirect("/")) .addPrefixPath("/", exchange -> exchange.getResponseSender().send("echo")); HttpHandler encodingHandler = new EncodingHandler.Builder().build(null) .wrap(pathHandler); Undertow server = Undertow.builder() .addHttpListener(8080, "localhost") .setHandler(encodingHandler).build(); server.start();
EncodingHandler provides a HandlerBuilder, which by default adds GzipEncodingProvider and DeflateEncodingProvider using the default configuration. Thus, your code is not related to the constructor and its parameters for creating the EncodingHandler.
In addition, HandlerBuilder # build returns a HandlerWrapper for smooth HttpHandler wrapping / chaining.
source share