7
7
import java .util .Map ;
8
8
import java .util .concurrent .TimeUnit ;
9
9
import java .util .function .Supplier ;
10
+
10
11
import okhttp3 .OkHttpClient ;
11
12
12
13
public final class ClientOptions {
13
- private boolean disableTimeouts ;
14
-
15
14
private final Environment environment ;
16
15
17
16
private final Map <String , String > headers ;
@@ -24,8 +23,7 @@ private ClientOptions(
24
23
Environment environment ,
25
24
Map <String , String > headers ,
26
25
Map <String , Supplier <String >> headerSuppliers ,
27
- OkHttpClient httpClient ,
28
- boolean disableTimeouts ) {
26
+ OkHttpClient httpClient ) {
29
27
this .environment = environment ;
30
28
this .headers = new HashMap <>();
31
29
this .headers .putAll (headers );
@@ -38,7 +36,6 @@ private ClientOptions(
38
36
"JAVA" ));
39
37
this .headerSuppliers = headerSuppliers ;
40
38
this .httpClient = httpClient ;
41
- this .disableTimeouts = disableTimeouts ;
42
39
}
43
40
44
41
public Environment environment () {
@@ -61,14 +58,6 @@ public OkHttpClient httpClient() {
61
58
}
62
59
63
60
public OkHttpClient httpClientWithTimeout (RequestOptions requestOptions ) {
64
- if (this .disableTimeouts ) {
65
- return this .httpClient
66
- .newBuilder ()
67
- .callTimeout (0 , TimeUnit .SECONDS )
68
- .readTimeout (0 , TimeUnit .SECONDS )
69
- .build ();
70
- }
71
-
72
61
if (requestOptions == null ) {
73
62
return this .httpClient ;
74
63
}
@@ -123,10 +112,16 @@ public Builder disableTimeouts() {
123
112
}
124
113
125
114
public ClientOptions build () {
126
- OkHttpClient okhttpClient = new OkHttpClient .Builder ()
127
- .addInterceptor (new RetryInterceptor (3 ))
128
- .build ();
129
- return new ClientOptions (environment , headers , headerSuppliers , okhttpClient , this .disableTimeouts );
115
+ OkHttpClient .Builder okhttpClientBuilder = new OkHttpClient .Builder ()
116
+ .addInterceptor (new RetryInterceptor (3 ));
117
+ if (this .disableTimeouts ) {
118
+ okhttpClientBuilder
119
+ .callTimeout (0 , TimeUnit .SECONDS )
120
+ .connectTimeout (0 , TimeUnit .SECONDS )
121
+ .writeTimeout (0 , TimeUnit .SECONDS )
122
+ .readTimeout (0 , TimeUnit .SECONDS );
123
+ }
124
+ return new ClientOptions (environment , headers , headerSuppliers , okhttpClientBuilder .build ());
130
125
}
131
126
}
132
127
}
0 commit comments