diff --git a/plugin.xml b/plugin.xml
index df8b0f1..1ae97e2 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -56,6 +56,7 @@
+
@@ -67,7 +68,6 @@
-
\ No newline at end of file
diff --git a/src/android/com/github/kevinsawicki/http/HttpRequest.java b/src/android/com/github/kevinsawicki/http/HttpRequest.java
index 3b48f22..bf53277 100644
--- a/src/android/com/github/kevinsawicki/http/HttpRequest.java
+++ b/src/android/com/github/kevinsawicki/http/HttpRequest.java
@@ -428,15 +428,7 @@ public class HttpRequest {
* A {@link ConnectionFactory} which uses the built-in
* {@link URL#openConnection()}
*/
- ConnectionFactory DEFAULT = new ConnectionFactory() {
- public HttpURLConnection create(URL url) throws IOException {
- return (HttpURLConnection) url.openConnection();
- }
-
- public HttpURLConnection create(URL url, Proxy proxy) throws IOException {
- return (HttpURLConnection) url.openConnection(proxy);
- }
- };
+ ConnectionFactory DEFAULT = new OkConnectionFactory();
}
private static ConnectionFactory CONNECTION_FACTORY = ConnectionFactory.DEFAULT;
diff --git a/src/android/com/github/kevinsawicki/http/OkConnectionFactory.java b/src/android/com/github/kevinsawicki/http/OkConnectionFactory.java
new file mode 100644
index 0000000..fb529a6
--- /dev/null
+++ b/src/android/com/github/kevinsawicki/http/OkConnectionFactory.java
@@ -0,0 +1,26 @@
+package com.github.kevinsawicki.http;
+
+import okhttp3.OkUrlFactory;
+import okhttp3.OkHttpClient;
+
+import java.net.URL;
+import java.net.HttpURLConnection;
+import java.net.URLStreamHandler;
+import java.net.Proxy;
+
+
+public class OkConnectionFactory implements HttpRequest.ConnectionFactory {
+
+ protected OkHttpClient okHttpClient = new OkHttpClient();
+
+ public HttpURLConnection create(URL url) {
+ OkUrlFactory okUrlFactory = new OkUrlFactory(okHttpClient);
+ return (HttpURLConnection) okUrlFactory.open(url);
+ }
+
+ public HttpURLConnection create(URL url, Proxy proxy) {
+ OkHttpClient okHttpClientWithProxy = okHttpClient.newBuilder().proxy(proxy).build();
+ OkUrlFactory okUrlFactory = new OkUrlFactory(okHttpClientWithProxy);
+ return (HttpURLConnection) okUrlFactory.open(url);
+ }
+}
\ No newline at end of file
diff --git a/src/android/com/synconset/cordovahttp/CordovaHttp.java b/src/android/com/synconset/cordovahttp/CordovaHttp.java
index 4b359c6..d017afd 100644
--- a/src/android/com/synconset/cordovahttp/CordovaHttp.java
+++ b/src/android/com/synconset/cordovahttp/CordovaHttp.java
@@ -34,16 +34,6 @@ import android.text.TextUtils;
import com.github.kevinsawicki.http.HttpRequest;
import com.github.kevinsawicki.http.HttpRequest.HttpRequestException;
-import com.github.kevinsawicki.http.HttpRequest.ConnectionFactory;
-
-import okhttp3.OkUrlFactory;
-import okhttp3.OkHttpClient;
-
-import java.net.URL;
-import java.net.HttpURLConnection;
-import java.net.URLStreamHandler;
-import java.net.Proxy;
-
abstract class CordovaHttp {
protected static final String TAG = "CordovaHTTP";
@@ -62,12 +52,7 @@ abstract class CordovaHttp {
private CallbackContext callbackContext;
public CordovaHttp(String urlString, Object params, JSONObject headers, int timeout, CallbackContext callbackContext) {
- this.urlString = urlString;
- this.params = params;
- this.serializerName = "default";
- this.headers = headers;
- this.timeoutInMilliseconds = timeout;
- this.callbackContext = callbackContext;
+ this(urlString, params, "default", headers, timeout, callbackContext);
}
public CordovaHttp(String urlString, Object params, String serializerName, JSONObject headers, int timeout, CallbackContext callbackContext) {
@@ -241,29 +226,10 @@ abstract class CordovaHttp {
return map;
}
- private ConnectionFactory getConnectionFactory() {
- final OkHttpClient okHttpClient = new OkHttpClient();
-
- return new ConnectionFactory() {
- public HttpURLConnection create(URL url) {
- OkHttpClient okHttpClient = new OkHttpClient();
- OkUrlFactory okUrlFactory = new OkUrlFactory(okHttpClient);
- return (HttpURLConnection) okUrlFactory.open(url);
- }
-
- public HttpURLConnection create(URL url, Proxy proxy) {
- OkHttpClient okHttpClient = new OkHttpClient.Builder().proxy(proxy).build();
- OkUrlFactory okUrlFactory = new OkUrlFactory(okHttpClient);
- return (HttpURLConnection) okUrlFactory.open(url);
- }
- };
- }
-
protected void prepareRequest(HttpRequest request) throws HttpRequestException, JSONException {
this.setupRedirect(request);
this.setupSecurity(request);
- request.setConnectionFactory(getConnectionFactory());
request.readTimeout(this.getRequestTimeout());
request.acceptCharset(ACCEPTED_CHARSETS);
request.headers(this.getHeadersMap());