diff --git a/extensions/reactive-routes/runtime/src/main/java/io/quarkus/vertx/web/runtime/HttpCompressionHandler.java b/extensions/reactive-routes/runtime/src/main/java/io/quarkus/vertx/web/runtime/HttpCompressionHandler.java index ee6a9d14210be..c5acaee652722 100644 --- a/extensions/reactive-routes/runtime/src/main/java/io/quarkus/vertx/web/runtime/HttpCompressionHandler.java +++ b/extensions/reactive-routes/runtime/src/main/java/io/quarkus/vertx/web/runtime/HttpCompressionHandler.java @@ -3,7 +3,6 @@ import java.util.Set; import io.quarkus.vertx.http.runtime.HttpCompression; -import io.vertx.core.AsyncResult; import io.vertx.core.Handler; import io.vertx.core.MultiMap; import io.vertx.core.http.HttpHeaders; @@ -24,33 +23,31 @@ public HttpCompressionHandler(Handler routeHandler, HttpCompress @Override public void handle(RoutingContext context) { - context.addEndHandler(new Handler>() { + context.addHeadersEndHandler(new Handler() { @Override - public void handle(AsyncResult result) { - if (result.succeeded()) { - MultiMap headers = context.response().headers(); - String contentEncoding = headers.get(HttpHeaders.CONTENT_ENCODING); - if (contentEncoding != null && HttpHeaders.IDENTITY.toString().equals(contentEncoding)) { - switch (compression) { - case ON: - headers.remove(HttpHeaders.CONTENT_ENCODING); - break; - case UNDEFINED: - String contentType = headers.get(HttpHeaders.CONTENT_TYPE); - if (contentType != null) { - int paramIndex = contentType.indexOf(';'); - if (paramIndex > -1) { - contentType = contentType.substring(0, paramIndex); - } - if (compressedMediaTypes.contains(contentType)) { - headers.remove(HttpHeaders.CONTENT_ENCODING); - } + public void handle(Void result) { + MultiMap headers = context.response().headers(); + String contentEncoding = headers.get(HttpHeaders.CONTENT_ENCODING); + if (contentEncoding != null && HttpHeaders.IDENTITY.toString().equals(contentEncoding)) { + switch (compression) { + case ON: + headers.remove(HttpHeaders.CONTENT_ENCODING); + break; + case UNDEFINED: + String contentType = headers.get(HttpHeaders.CONTENT_TYPE); + if (contentType != null) { + int paramIndex = contentType.indexOf(';'); + if (paramIndex > -1) { + contentType = contentType.substring(0, paramIndex); } - break; - default: - // OFF - no action is needed because the "Content-Encoding: identity" header is set - break; - } + if (compressedMediaTypes.contains(contentType)) { + headers.remove(HttpHeaders.CONTENT_ENCODING); + } + } + break; + default: + // OFF - no action is needed because the "Content-Encoding: identity" header is set + break; } } } diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/HttpCompressionHandler.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/HttpCompressionHandler.java index 80d066a78d7ab..2879a2e2966d2 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/HttpCompressionHandler.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/HttpCompressionHandler.java @@ -2,7 +2,6 @@ import java.util.Set; -import io.vertx.core.AsyncResult; import io.vertx.core.Handler; import io.vertx.core.MultiMap; import io.vertx.core.http.HttpHeaders; @@ -25,12 +24,10 @@ public HttpCompressionHandler(Handler routeHandler, Set @Override public void handle(RoutingContext context) { - context.addEndHandler(new Handler>() { + context.addHeadersEndHandler(new Handler() { @Override - public void handle(AsyncResult result) { - if (result.succeeded()) { - compressIfNeeded(context, compressedMediaTypes); - } + public void handle(Void result) { + compressIfNeeded(context, compressedMediaTypes); } }); routeHandler.handle(context);