aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java b/src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java
deleted file mode 100644
index 011e2529..00000000
--- a/src/main/java/de/thedevstack/conversationsplus/http/HttpConnectionManager.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package de.thedevstack.conversationsplus.http;
-
-import org.apache.http.conn.ssl.StrictHostnameVerifier;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Proxy;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.X509TrustManager;
-
-import de.thedevstack.conversationsplus.ConversationsPlusApplication;
-import de.thedevstack.conversationsplus.entities.Message;
-import de.thedevstack.conversationsplus.services.AbstractConnectionManager;
-import de.thedevstack.conversationsplus.utils.CryptoHelper;
-import de.thedevstack.conversationsplus.utils.MessageUtil;
-import de.thedevstack.conversationsplus.utils.SSLSocketHelper;
-
-public class HttpConnectionManager extends AbstractConnectionManager {
- private static HttpConnectionManager INSTANCE;
-
- public static void init() {
- INSTANCE = new HttpConnectionManager();
- }
-
- private List<HttpDownloadConnection> downloadConnections = new CopyOnWriteArrayList<>();
-
- public static HttpDownloadConnection createNewDownloadConnection(Message message) {
- return createNewDownloadConnection(message, false);
- }
-
- public static HttpDownloadConnection createNewDownloadConnection(Message message, boolean interactive) {
- if (MessageUtil.needsDownload(message)) {
- HttpDownloadConnection connection = new HttpDownloadConnection(INSTANCE);
- connection.init(message, interactive);
- INSTANCE.downloadConnections.add(connection);
- return connection;
- }
- return null;
- }
-
- public void finishConnection(HttpDownloadConnection connection) {
- this.downloadConnections.remove(connection);
- }
-
- public static void setupTrustManager(final HttpsURLConnection connection, final boolean interactive) {
- final X509TrustManager trustManager;
- final HostnameVerifier hostnameVerifier;
- if (interactive) {
- trustManager = ConversationsPlusApplication.getMemorizingTrustManager();
- hostnameVerifier = ConversationsPlusApplication.getMemorizingTrustManager().wrapHostnameVerifier(
- new StrictHostnameVerifier());
- } else {
- trustManager = ConversationsPlusApplication.getMemorizingTrustManager()
- .getNonInteractive();
- hostnameVerifier = ConversationsPlusApplication.getMemorizingTrustManager()
- .wrapHostnameVerifierNonInteractive(
- new StrictHostnameVerifier());
- }
- try {
- final SSLContext sc = SSLSocketHelper.getSSLContext();
- sc.init(null, new X509TrustManager[]{trustManager},
- ConversationsPlusApplication.getSecureRandom());
-
- final SSLSocketFactory sf = sc.getSocketFactory();
- final String[] cipherSuites = CryptoHelper.getOrderedCipherSuites(
- sf.getSupportedCipherSuites());
- if (cipherSuites.length > 0) {
- sc.getDefaultSSLParameters().setCipherSuites(cipherSuites);
-
- }
-
- connection.setSSLSocketFactory(sf);
- connection.setHostnameVerifier(hostnameVerifier);
- } catch (final KeyManagementException | NoSuchAlgorithmException ignored) {
- }
- }
-
- public Proxy getProxy() throws IOException {
- return new Proxy(Proxy.Type.HTTP, new InetSocketAddress(InetAddress.getLocalHost(), 8118));
- }
-}