URL.java

 1package eu.siacs.conversations.http;
 2
 3import java.net.URI;
 4import java.net.URISyntaxException;
 5import java.util.Arrays;
 6import java.util.List;
 7
 8import eu.siacs.conversations.http.AesGcmURL;
 9import okhttp3.HttpUrl;
10
11public class URL {
12
13    public static final List<String> WELL_KNOWN_SCHEMES = Arrays.asList("http", "https", AesGcmURL.PROTOCOL_NAME);
14
15
16    public static String tryParse(String url) {
17        final URI uri;
18        try {
19            uri = new URI(url);
20        } catch (URISyntaxException e) {
21            return null;
22        }
23        if (WELL_KNOWN_SCHEMES.contains(uri.getScheme())) {
24            return uri.toString();
25        } else {
26            return null;
27        }
28    }
29
30    public static HttpUrl stripFragment(final HttpUrl url) {
31        return url.newBuilder().fragment(null).build();
32    }
33
34}