summaryrefslogtreecommitdiff
path: root/src/main/java/com/keuin/crosslink/util/HttpQuery.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/keuin/crosslink/util/HttpQuery.java')
-rw-r--r--src/main/java/com/keuin/crosslink/util/HttpQuery.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/keuin/crosslink/util/HttpQuery.java b/src/main/java/com/keuin/crosslink/util/HttpQuery.java
new file mode 100644
index 0000000..af06e4d
--- /dev/null
+++ b/src/main/java/com/keuin/crosslink/util/HttpQuery.java
@@ -0,0 +1,22 @@
+package com.keuin.crosslink.util;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class HttpQuery {
+ // Copied from https://stackoverflow.com/a/63976481 (modified)
+ public static Map<String, String> getParamMap(String query) {
+ // query is null if not provided (e.g. localhost/path )
+ // query is empty if '?' is supplied (e.g. localhost/path? )
+ if (query == null || query.isEmpty()) return Collections.emptyMap();
+
+ return Stream.of(query.split("&"))
+ .filter(s -> !s.isEmpty())
+ .map(kv -> kv.split("=", 2))
+ .collect(Collectors.toMap(
+ x -> x[0],
+ x -> ((x.length == 2) ? x[1] : "")));
+ }
+}