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");
}
}