Skip to content

Commit 4061e73

Browse files
committed
Add ability to customise WebSocket OkHttp client
Summary: Prior to 22efd95, users could customise the OkHttp client used by React Native on Android by calling setOkHttpClientFactory in OkHttpClientProvider. This functionality has a variety of legitimate applications from changing connection timeouts or pool size to Stetho integration. In this commit also provide the ability for WebSocket. Create React Native application and set a custom factory in the constructor, e.g. `OkHttpClientProvider.setOkHttpClientFactory(new CustomNetworkModule());` Where a custom factory would look like: ``` class CustomNetworkModule implements OkHttpClientFactory { public OkHttpClient createNewNetworkModuleClient() { return new OkHttpClient.Builder().build(); } } ``` [ANDROID] [MINOR] [WebSocket] - Also use the custom factory set in OkHttpClientProvider for customising the WebSocket OkHttp client used by React Native | Closes #18920
1 parent a52d84d commit 4061e73

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import com.facebook.react.module.annotations.ReactModule;
2323
import com.facebook.react.modules.core.DeviceEventManagerModule;
2424
import com.facebook.react.modules.network.ForwardingCookieHandler;
25+
import com.facebook.react.modules.network.OkHttpClientProvider;
26+
2527
import java.io.IOException;
2628
import java.net.URI;
2729
import java.net.URISyntaxException;
@@ -84,7 +86,7 @@ public void connect(
8486
@Nullable final ReadableArray protocols,
8587
@Nullable final ReadableMap options,
8688
final int id) {
87-
OkHttpClient client = new OkHttpClient.Builder()
89+
OkHttpClient client = OkHttpClientProvider.getOkHttpClient().newBuilder()
8890
.connectTimeout(10, TimeUnit.SECONDS)
8991
.writeTimeout(10, TimeUnit.SECONDS)
9092
.readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read

0 commit comments

Comments
 (0)