From bc25d4b0a2250898f48f7fb5634fdcfef1911411 Mon Sep 17 00:00:00 2001 From: Georgios Andrianakis Date: Thu, 25 Feb 2021 17:56:50 +0200 Subject: [PATCH] Replace httpServerRequest.absoluteURI() with simple URI check in Root Handler This is done because the check doesn't actually need the entire absoluteURI, it just needs to make sure that the URI is correct. The use of absoluteURI incurs a small performance penalty (which can be seen in flame graphs). --- .../io/quarkus/vertx/http/runtime/VertxHttpRecorder.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java index cbe271a5158e3..e242a063bbd00 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java @@ -4,6 +4,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; @@ -129,7 +131,10 @@ public class VertxHttpRecorder { private static final Handler ACTUAL_ROOT = new Handler() { @Override public void handle(HttpServerRequest httpServerRequest) { - if (httpServerRequest.absoluteURI() == null) { + try { + // we simply need to know if the URI is valid + new URI(httpServerRequest.uri()); + } catch (URISyntaxException e) { httpServerRequest.response().setStatusCode(400).end(); return; }