Skip to content

Commit

Permalink
chore: Remove unnecessary dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
peacekeeper committed Apr 11, 2024
1 parent 8c05482 commit 5cb9d20
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 10 deletions.
5 changes: 0 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -180,11 +180,6 @@
<artifactId>jsonld-common-java</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
Expand Down
33 changes: 28 additions & 5 deletions src/main/java/foundation/identity/did/DIDURL.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
import jakarta.json.JsonObject;
import jakarta.json.JsonObjectBuilder;
import jakarta.json.JsonValue;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.net.URI;
import java.net.URL;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

public class DIDURL {
Expand Down Expand Up @@ -116,7 +116,10 @@ public void postBranch(int offset, int length) {
String fragment = parsedStrings[5] == null ? null : parsedStrings[5];

DID did = didString == null ? null : new DID(didString, methodName, methodSpecificId, null);
Map<String, String> parameters = query == null ? null : URLEncodedUtils.parse(query, StandardCharsets.UTF_8).stream().collect(Collectors.toMap(NameValuePair::getName, NameValuePair::getValue));
URI uri;
URL url;

Map<String, String> parameters = query == null ? null : parseQuerySingle(query);

return new DIDURL(didUrlString, did, path, query, parameters, fragment, parseTree);
} catch (ParserException ex) {
Expand Down Expand Up @@ -146,6 +149,26 @@ public static DIDURL fromUri(URI uri, boolean keepParseTree) throws IllegalArgum
* Helper methods
*/

private static Map<String, String> parseQuerySingle(String query) {
return Pattern.compile("&")
.splitAsStream(query)
.map(s -> Arrays.copyOf(s.split("=", 2), 2))
.collect(Collectors.toMap(s -> decode(s[0]), s -> decode(s[1])));
}

private static Map<String, List<String>> parseQueryMulti(String query) {
return Pattern.compile("&")
.splitAsStream(query)
.map(s -> Arrays.copyOf(s.split("=", 2), 2))
.collect(Collectors.groupingBy(s -> decode(s[0]), Collectors.mapping(s -> decode(s[1]), Collectors.toList())));
}

private static String decode(final String encoded) {
return Optional.ofNullable(encoded)
.map(e -> URLDecoder.decode(e, StandardCharsets.UTF_8))
.orElse(null);
}

public URI toUri() {
return URI.create(this.getDidUrlString());
}
Expand Down

0 comments on commit 5cb9d20

Please sign in to comment.