diff --git a/pom.xml b/pom.xml index b50f380..623a4c7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.kttdevelopment simplehttpserver - 4.1.0 + 4.2.0 simplehttpserver 📕 SimpleHttpServer :: Simplified implementation of the sun http server :: Simplified handlers to execute complex operations diff --git a/src/main/java/com/kttdevelopment/simplehttpserver/SimpleHttpExchangeImpl.java b/src/main/java/com/kttdevelopment/simplehttpserver/SimpleHttpExchangeImpl.java index 8f57985..6de3bdf 100644 --- a/src/main/java/com/kttdevelopment/simplehttpserver/SimpleHttpExchangeImpl.java +++ b/src/main/java/com/kttdevelopment/simplehttpserver/SimpleHttpExchangeImpl.java @@ -18,7 +18,7 @@ * * @see SimpleHttpExchange * @since 02.00.00 - * @version 4.0.0 + * @version 4.2.0 * @author Ktt Development */ @SuppressWarnings("SpellCheckingInspection") @@ -119,7 +119,7 @@ static SimpleHttpExchange create(final HttpExchange exchange){ requestMethod = RequestMethod.UNSUPPORTED; break; } // - hasGet = (rawGet = URI.getQuery()) != null; + hasGet = (rawGet = URI.getRawQuery()) != null; getMap = hasGet ? Collections.unmodifiableMap(parseWwwFormEnc.apply(rawGet)) : new HashMap<>(); // diff --git a/src/test/java/com/kttdevelopment/simplehttpserver/simplehttpexchange/io/SimpleHttpExchangeGetTest.java b/src/test/java/com/kttdevelopment/simplehttpserver/simplehttpexchange/io/SimpleHttpExchangeGetTest.java index f6f08c6..1a3d78f 100644 --- a/src/test/java/com/kttdevelopment/simplehttpserver/simplehttpexchange/io/SimpleHttpExchangeGetTest.java +++ b/src/test/java/com/kttdevelopment/simplehttpserver/simplehttpexchange/io/SimpleHttpExchangeGetTest.java @@ -33,7 +33,8 @@ public final void get() throws IOException, ExecutionException, InterruptedExcep server.start(); final String queryKey = "test", queryValue = "value"; - final String url = "http://localhost:" + port + context + '?' + queryKey + '=' + queryValue; + final String altKey = "alt", altValueRaw = "a+?&}", altValueEnc = "a%2B%3F%26%7D"; + final String url = "http://localhost:" + port + context + '?' + queryKey + '=' + queryValue + '&' + altKey + '=' + altValueEnc; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) @@ -51,6 +52,7 @@ public final void get() throws IOException, ExecutionException, InterruptedExcep Assertions.assertEquals(RequestMethod.GET, exchange.getRequestMethod(), "Client request method did not match exchange request method (GET)"); Assertions.assertTrue(exchange.hasGet(), "Exchange was missing client GET map"); Assertions.assertEquals(queryValue, exchange.getGetMap().get(queryKey), "Exchange GET did not match client GET"); + Assertions.assertEquals(altValueRaw, exchange.getGetMap().get(altKey), "Exchange GET did not match client GET"); } }