@@ -38,8 +38,8 @@ public class ClientConfig {
38
38
private final Filter filters ;
39
39
private final Proxy proxy ;
40
40
private final Credentials credentials ;
41
-
42
41
private final SSLContext sslContext ;
42
+ private String version ;
43
43
44
44
protected ClientConfig (
45
45
URI baseUri ,
@@ -48,19 +48,28 @@ protected ClientConfig(
48
48
Filter filters ,
49
49
Proxy proxy ,
50
50
Credentials credentials ,
51
- SSLContext sslContext ) {
51
+ SSLContext sslContext ,
52
+ String version ) {
52
53
this .baseUri = baseUri ;
53
54
this .connectionTimeout = Require .nonNegative ("Connection timeout" , connectionTimeout );
54
55
this .readTimeout = Require .nonNegative ("Read timeout" , readTimeout );
55
56
this .filters = Require .nonNull ("Filters" , filters );
56
57
this .proxy = proxy ;
57
58
this .credentials = credentials ;
58
59
this .sslContext = sslContext ;
60
+ this .version = version ;
59
61
}
60
62
61
63
public static ClientConfig defaultConfig () {
62
64
return new ClientConfig (
63
- null , Duration .ofSeconds (10 ), Duration .ofMinutes (3 ), DEFAULT_FILTER , null , null , null );
65
+ null ,
66
+ Duration .ofSeconds (10 ),
67
+ Duration .ofMinutes (3 ),
68
+ DEFAULT_FILTER ,
69
+ null ,
70
+ null ,
71
+ null ,
72
+ null );
64
73
}
65
74
66
75
public ClientConfig baseUri (URI baseUri ) {
@@ -71,7 +80,8 @@ public ClientConfig baseUri(URI baseUri) {
71
80
filters ,
72
81
proxy ,
73
82
credentials ,
74
- sslContext );
83
+ sslContext ,
84
+ version );
75
85
}
76
86
77
87
public ClientConfig baseUrl (URL baseUrl ) {
@@ -102,7 +112,8 @@ public ClientConfig connectionTimeout(Duration timeout) {
102
112
filters ,
103
113
proxy ,
104
114
credentials ,
105
- sslContext );
115
+ sslContext ,
116
+ version );
106
117
}
107
118
108
119
public Duration connectionTimeout () {
@@ -117,7 +128,8 @@ public ClientConfig readTimeout(Duration timeout) {
117
128
filters ,
118
129
proxy ,
119
130
credentials ,
120
- sslContext );
131
+ sslContext ,
132
+ version );
121
133
}
122
134
123
135
public Duration readTimeout () {
@@ -133,7 +145,8 @@ public ClientConfig withFilter(Filter filter) {
133
145
filter .andThen (DEFAULT_FILTER ),
134
146
proxy ,
135
147
credentials ,
136
- sslContext );
148
+ sslContext ,
149
+ version );
137
150
}
138
151
139
152
public ClientConfig withRetries () {
@@ -144,7 +157,8 @@ public ClientConfig withRetries() {
144
157
filters .andThen (RETRY_FILTER ),
145
158
proxy ,
146
159
credentials ,
147
- sslContext );
160
+ sslContext ,
161
+ version );
148
162
}
149
163
150
164
public Filter filter () {
@@ -159,7 +173,8 @@ public ClientConfig proxy(Proxy proxy) {
159
173
filters ,
160
174
Require .nonNull ("Proxy" , proxy ),
161
175
credentials ,
162
- sslContext );
176
+ sslContext ,
177
+ version );
163
178
}
164
179
165
180
public Proxy proxy () {
@@ -174,7 +189,8 @@ public ClientConfig authenticateAs(Credentials credentials) {
174
189
filters ,
175
190
proxy ,
176
191
Require .nonNull ("Credentials" , credentials ),
177
- sslContext );
192
+ sslContext ,
193
+ version );
178
194
}
179
195
180
196
public Credentials credentials () {
@@ -189,13 +205,30 @@ public ClientConfig sslContext(SSLContext sslContext) {
189
205
filters ,
190
206
proxy ,
191
207
credentials ,
192
- Require .nonNull ("SSL Context" , sslContext ));
208
+ Require .nonNull ("SSL Context" , sslContext ),
209
+ version );
193
210
}
194
211
195
212
public SSLContext sslContext () {
196
213
return sslContext ;
197
214
}
198
215
216
+ public ClientConfig version (String version ) {
217
+ return new ClientConfig (
218
+ baseUri ,
219
+ connectionTimeout ,
220
+ readTimeout ,
221
+ filters ,
222
+ proxy ,
223
+ credentials ,
224
+ sslContext ,
225
+ Require .nonNull ("Version" , version ));
226
+ }
227
+
228
+ public String version () {
229
+ return version ;
230
+ }
231
+
199
232
@ Override
200
233
public String toString () {
201
234
return "ClientConfig{"
@@ -213,6 +246,8 @@ public String toString() {
213
246
+ credentials
214
247
+ ", sslcontext="
215
248
+ sslContext
249
+ + ", version="
250
+ + version
216
251
+ '}' ;
217
252
}
218
253
}
0 commit comments