Skip to content

Commit 9ce1c80

Browse files
authored
Merge 64bcbd7 into 06bb4e9
2 parents 06bb4e9 + 64bcbd7 commit 9ce1c80

File tree

2 files changed

+52
-11
lines changed

2 files changed

+52
-11
lines changed

java/src/org/openqa/selenium/remote/http/ClientConfig.java

+46-11
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public class ClientConfig {
3838
private final Filter filters;
3939
private final Proxy proxy;
4040
private final Credentials credentials;
41-
4241
private final SSLContext sslContext;
42+
private String version;
4343

4444
protected ClientConfig(
4545
URI baseUri,
@@ -48,19 +48,28 @@ protected ClientConfig(
4848
Filter filters,
4949
Proxy proxy,
5050
Credentials credentials,
51-
SSLContext sslContext) {
51+
SSLContext sslContext,
52+
String version) {
5253
this.baseUri = baseUri;
5354
this.connectionTimeout = Require.nonNegative("Connection timeout", connectionTimeout);
5455
this.readTimeout = Require.nonNegative("Read timeout", readTimeout);
5556
this.filters = Require.nonNull("Filters", filters);
5657
this.proxy = proxy;
5758
this.credentials = credentials;
5859
this.sslContext = sslContext;
60+
this.version = version;
5961
}
6062

6163
public static ClientConfig defaultConfig() {
6264
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);
6473
}
6574

6675
public ClientConfig baseUri(URI baseUri) {
@@ -71,7 +80,8 @@ public ClientConfig baseUri(URI baseUri) {
7180
filters,
7281
proxy,
7382
credentials,
74-
sslContext);
83+
sslContext,
84+
version);
7585
}
7686

7787
public ClientConfig baseUrl(URL baseUrl) {
@@ -102,7 +112,8 @@ public ClientConfig connectionTimeout(Duration timeout) {
102112
filters,
103113
proxy,
104114
credentials,
105-
sslContext);
115+
sslContext,
116+
version);
106117
}
107118

108119
public Duration connectionTimeout() {
@@ -117,7 +128,8 @@ public ClientConfig readTimeout(Duration timeout) {
117128
filters,
118129
proxy,
119130
credentials,
120-
sslContext);
131+
sslContext,
132+
version);
121133
}
122134

123135
public Duration readTimeout() {
@@ -133,7 +145,8 @@ public ClientConfig withFilter(Filter filter) {
133145
filter.andThen(DEFAULT_FILTER),
134146
proxy,
135147
credentials,
136-
sslContext);
148+
sslContext,
149+
version);
137150
}
138151

139152
public ClientConfig withRetries() {
@@ -144,7 +157,8 @@ public ClientConfig withRetries() {
144157
filters.andThen(RETRY_FILTER),
145158
proxy,
146159
credentials,
147-
sslContext);
160+
sslContext,
161+
version);
148162
}
149163

150164
public Filter filter() {
@@ -159,7 +173,8 @@ public ClientConfig proxy(Proxy proxy) {
159173
filters,
160174
Require.nonNull("Proxy", proxy),
161175
credentials,
162-
sslContext);
176+
sslContext,
177+
version);
163178
}
164179

165180
public Proxy proxy() {
@@ -174,7 +189,8 @@ public ClientConfig authenticateAs(Credentials credentials) {
174189
filters,
175190
proxy,
176191
Require.nonNull("Credentials", credentials),
177-
sslContext);
192+
sslContext,
193+
version);
178194
}
179195

180196
public Credentials credentials() {
@@ -189,13 +205,30 @@ public ClientConfig sslContext(SSLContext sslContext) {
189205
filters,
190206
proxy,
191207
credentials,
192-
Require.nonNull("SSL Context", sslContext));
208+
Require.nonNull("SSL Context", sslContext),
209+
version);
193210
}
194211

195212
public SSLContext sslContext() {
196213
return sslContext;
197214
}
198215

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+
199232
@Override
200233
public String toString() {
201234
return "ClientConfig{"
@@ -213,6 +246,8 @@ public String toString() {
213246
+ credentials
214247
+ ", sslcontext="
215248
+ sslContext
249+
+ ", version="
250+
+ version
216251
+ '}';
217252
}
218253
}

java/src/org/openqa/selenium/remote/http/jdk/JdkHttpClient.java

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.net.SocketAddress;
3030
import java.net.URI;
3131
import java.net.URISyntaxException;
32+
import java.net.http.HttpClient.Version;
3233
import java.net.http.HttpResponse.BodyHandler;
3334
import java.net.http.HttpResponse.BodyHandlers;
3435
import java.net.http.HttpTimeoutException;
@@ -150,6 +151,11 @@ public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
150151
builder.sslContext(sslContext);
151152
}
152153

154+
String version = config.version();
155+
if (version != null) {
156+
builder.version(Version.valueOf(version));
157+
}
158+
153159
this.client = builder.build();
154160
}
155161

0 commit comments

Comments
 (0)