18273: Increase default java sdk timeouts & make them configuable
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / api / client / BaseApiClient.java
index a8d1a08cb09643262bf657498aefc53b727f168c..51f2f4a81b02c74c34198d22ae90203d0cb736a3 100644 (file)
@@ -23,6 +23,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.nio.charset.StandardCharsets;
 import java.util.Objects;
+import java.util.concurrent.TimeUnit;
 
 abstract class BaseApiClient {
 
@@ -34,7 +35,12 @@ abstract class BaseApiClient {
 
     BaseApiClient(ConfigProvider config) {
         this.config = config;
-        this.client = OkHttpClientFactory.INSTANCE.create(config.isApiHostInsecure());
+        this.client = OkHttpClientFactory.INSTANCE.create(config.isApiHostInsecure())
+           .newBuilder()
+           .connectTimeout(config.getConnectTimeout(), TimeUnit.MILLISECONDS)
+           .readTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS)
+           .writeTimeout(config.getWriteTimeout(), TimeUnit.MILLISECONDS)
+           .build();
     }
 
     Request.Builder getRequestBuilder() {