8238579: HttpsURLConnection drops the timeout and hangs forever in read

HttpsURLConnection drops the timeout and hangs forever in read

Reviewed-by: dfuchs
This commit is contained in:
Vyom Tewari 2020-03-07 18:35:20 +05:30
parent f222cb8b8c
commit ff8e7d4087

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -87,10 +87,16 @@ public abstract class AbstractDelegateHttpsURLConnection extends
*/
public void setNewClient (URL url, boolean useCache)
throws IOException {
int readTimeout = getReadTimeout();
http = HttpsClient.New (getSSLSocketFactory(),
url,
getHostnameVerifier(),
useCache, this);
null,
-1,
useCache,
getConnectTimeout(),
this);
http.setReadTimeout(readTimeout);
((HttpsClient)http).afterConnect();
}
@ -132,10 +138,16 @@ public abstract class AbstractDelegateHttpsURLConnection extends
boolean useCache) throws IOException {
if (connected)
return;
int readTimeout = getReadTimeout();
http = HttpsClient.New (getSSLSocketFactory(),
url,
getHostnameVerifier(),
proxyHost, proxyPort, useCache, this);
proxyHost,
proxyPort,
useCache,
getConnectTimeout(),
this);
http.setReadTimeout(readTimeout);
connected = true;
}