diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/http')
-rw-r--r-- | src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandler.java | 17 | ||||
-rw-r--r-- | src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandlerFactory.java | 15 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandler.java b/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandler.java new file mode 100644 index 000000000..64188c5db --- /dev/null +++ b/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandler.java @@ -0,0 +1,17 @@ +package de.pixart.messenger.http; + +import java.io.IOException; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; + + +public class AesGcmURLStreamHandler extends URLStreamHandler { + + public static final String PROTOCOL_NAME = "aesgcm"; + + @Override + protected URLConnection openConnection(URL url) throws IOException { + return new URL("https"+url.toString().substring(url.getProtocol().length())).openConnection(); + } +} diff --git a/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandlerFactory.java b/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandlerFactory.java new file mode 100644 index 000000000..b5edd2f5a --- /dev/null +++ b/src/main/java/de/pixart/messenger/http/AesGcmURLStreamHandlerFactory.java @@ -0,0 +1,15 @@ +package de.pixart.messenger.http; + +import java.net.URLStreamHandler; +import java.net.URLStreamHandlerFactory; + +public class AesGcmURLStreamHandlerFactory implements URLStreamHandlerFactory { + @Override + public URLStreamHandler createURLStreamHandler(String protocol) { + if (AesGcmURLStreamHandler.PROTOCOL_NAME.equals(protocol)) { + return new AesGcmURLStreamHandler(); + } else { + return null; + } + } +} |