aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java
diff options
context:
space:
mode:
authorMichal Kepkowski <michal.kepkowski@sagiton.pl>2016-03-12 19:32:36 +0100
committerMichal Kepkowski <michal.kepkowski@sagiton.pl>2016-03-14 17:41:18 +0100
commit6c2efb02353f34ea153f4bf8ed283685ccaad9a9 (patch)
treea9578572e5f61cd39bf458ba36bcaf4de6d1a4df /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java
parent81e46a7bc3cbed48ab3b7d4267314f55c2fef968 (diff)
downloadopen-keychain-6c2efb02353f34ea153f4bf8ed283685ccaad9a9.tar.gz
open-keychain-6c2efb02353f34ea153f4bf8ed283685ccaad9a9.tar.bz2
open-keychain-6c2efb02353f34ea153f4bf8ed283685ccaad9a9.zip
okhttp3
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java
new file mode 100644
index 000000000..2bf3b7e14
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/OkHttpClientFactory.java
@@ -0,0 +1,55 @@
+package org.sufficientlysecure.keychain.util;
+
+import okhttp3.CertificatePinner;
+import okhttp3.OkHttpClient;
+import org.sufficientlysecure.keychain.Constants;
+
+import java.io.IOException;
+import java.net.Proxy;
+import java.net.URL;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Created by Michał Kępkowski on 11/03/16.
+ */
+public class OkHttpClientFactory {
+ private static OkHttpClient client;
+
+ public static OkHttpClient getSimpleClient(){
+ if(client == null){
+ client = new OkHttpClient.Builder().build();
+ }
+ return client;
+ }
+
+ public static OkHttpClient getPinnedSimpleClient(CertificatePinner pinner){
+ return new OkHttpClient.Builder()
+ .certificatePinner(pinner)
+ .build();
+ }
+
+
+ public static OkHttpClient getPinnedClient(URL url, Proxy proxy) throws IOException, TlsHelper.TlsHelperException {
+
+ return new OkHttpClient.Builder()
+ .followRedirects(false)
+ .followSslRedirects(false)
+ .proxy(proxy)
+ .connectTimeout(30000, TimeUnit.MILLISECONDS)
+ .readTimeout(45000, TimeUnit.MILLISECONDS)
+ .sslSocketFactory(TlsHelper.getPinnedSslSocketFactory(url))
+ .build();
+ }
+
+ public static OkHttpClient getClient( Proxy proxy) throws IOException, TlsHelper.TlsHelperException {
+
+ return new OkHttpClient.Builder()
+ .followRedirects(false)
+ .followSslRedirects(false)
+ .proxy(proxy)
+ .connectTimeout(30000, TimeUnit.MILLISECONDS)
+ .readTimeout(45000, TimeUnit.MILLISECONDS)
+ .build();
+ }
+
+}