Compare commits

...

3 Commits

Author SHA1 Message Date
XakepSDK c590a8f361
Merge eb3d0b0b38 into b719255bd5 2024-03-30 17:30:28 +00:00
d3coder eb3d0b0b38 [ANY] Rename AuthCodePassword field to the uri 2024-03-30 22:30:14 +05:00
d3coder f4d0783d94 [ANY] Add query helper 2024-03-30 22:25:28 +05:00
3 changed files with 40 additions and 3 deletions

View File

@ -3,10 +3,10 @@ package pro.gravit.launcher.base.request.auth.password;
import pro.gravit.launcher.base.request.auth.AuthRequest;
public class AuthCodePassword implements AuthRequest.AuthPasswordInterface {
public final String code;
public final String uri;
public AuthCodePassword(String code) {
this.code = code;
public AuthCodePassword(String uri) {
this.uri = uri;
}
@Override

View File

@ -258,6 +258,14 @@ public final class CommonHelper {
return new ArgsParseResult(conf, classpath, jvmArgs, mainClass, mainModule, jarFile, args);
}
public static <K, V> V multimapFirstOrNullValue(K key, Map<K, List<V>> params) {
List<V> list = params.getOrDefault(key, Collections.emptyList());
if (list.isEmpty()) {
return null;
}
return list.getFirst();
}
public record ArgsParseResult(LaunchOptions.ModuleConf conf, List<String> classpath, List<String> jvmArgs, String mainClass, String mainModule, String jarFile, List<String> args) {
}

View File

@ -0,0 +1,29 @@
package pro.gravit.utils.helper;
import java.net.URI;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
public class QueryHelper {
public static Map<String, List<String>> splitUriQuery(URI uri) {
var query = uri.getRawQuery();
if (query == null) {
return Collections.emptyMap();
}
Map<String, List<String>> params = new HashMap<>();
String[] split = query.split("&");
for (String qParams : split) {
String[] splitParams = qParams.split("=");
List<String> strings = params.computeIfAbsent(URLDecoder.decode(splitParams[0], StandardCharsets.UTF_8),
k -> new ArrayList<>(1));
strings.add(URLDecoder.decode(splitParams[1], StandardCharsets.UTF_8));
}
return params;
}
public static String encodeFormPair(String key, String value) {
return URLEncoder.encode(key, StandardCharsets.UTF_8) + "=" + URLEncoder.encode(value, StandardCharsets.UTF_8);
}
}