diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java index dcd8972cf6e1..2b4f8ef71c45 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java @@ -38,12 +38,23 @@ public static void replaceOkHttpClient(OkHttpClient client) { } private static OkHttpClient createClient() { + + // create a list of protocols the client will use to communicate + // by default, it will use the most efficient one, falling back to + // more ubiquitous ones + // above as per okhttp javadocs + List protocolList = new ArrayList<>(); + protocolList.add(Protocol.HTTP_2); + protocolList.add(Protocol.SPDY_3); + protocolList.add(Protocol.HTTP_1_1); + // No timeouts by default return new OkHttpClient.Builder() .connectTimeout(0, TimeUnit.MILLISECONDS) .readTimeout(0, TimeUnit.MILLISECONDS) .writeTimeout(0, TimeUnit.MILLISECONDS) .cookieJar(new ReactCookieJarContainer()) + .setProtocols(protocolList) .build(); } }