Skip to content

Commit 2f082f5

Browse files
committed
- disables HTTP/2 to avoid faulty handshakes with service on Java 11+
1 parent aa8ae8e commit 2f082f5

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/main/java/com/microsoft/graph/http/CoreHttpProvider.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -356,20 +356,22 @@ private <Result, Body, DeserializeType> Result sendRequestInternal(final IHttpRe
356356
throws ClientException {
357357

358358
try {
359+
if(this.connectionConfig == null) {
360+
this.connectionConfig = new DefaultConnectionConfig();
361+
}
359362
if(this.corehttpClient == null) {
360-
OkHttpClient.Builder okBuilder = HttpClients.createDefault(new ICoreAuthenticationProvider() {
361-
@Override
362-
public Request authenticateRequest(Request request) {
363-
return request;
364-
}
365-
}).newBuilder();
366-
if(this.connectionConfig == null) {
367-
this.connectionConfig = new DefaultConnectionConfig();
368-
}
369-
okBuilder.connectTimeout(connectionConfig.getConnectTimeout(), TimeUnit.MILLISECONDS);
370-
okBuilder.readTimeout(connectionConfig.getReadTimeout(), TimeUnit.MILLISECONDS);
371-
okBuilder.followRedirects(false);
372-
this.corehttpClient = okBuilder.build();
363+
this.corehttpClient = HttpClients
364+
.createDefault(new ICoreAuthenticationProvider() {
365+
@Override
366+
public Request authenticateRequest(Request request) {
367+
return request;
368+
}
369+
}).newBuilder()
370+
.connectTimeout(connectionConfig.getConnectTimeout(), TimeUnit.MILLISECONDS)
371+
.readTimeout(connectionConfig.getReadTimeout(), TimeUnit.MILLISECONDS)
372+
.followRedirects(false)
373+
.protocols(Arrays.asList(Protocol.HTTP_1_1)) //https://stackoverflow.com/questions/62031298/sockettimeout-on-java-11-but-not-on-java-8
374+
.build();
373375
}
374376
if (authenticationProvider != null) {
375377
authenticationProvider.authenticateRequest(request);

0 commit comments

Comments
 (0)