Hi Ravi,

> On 5 Feb 2020, at 12:43, Ravi Reddy <ravi.k.re...@oracle.com> wrote:
> 
> Hello All,
>  
> Could you please review this patch. This patch fixes the RFC unconformity of 
> HttpURLConnection with proxy issue.
>  
> 1.Change in HttpURLConnection.java is to make sure we do retry with proxy as 
> mentioned in RFC
> 2.Change is test case HttpURLConWithProxy.java is to make sure we don’t throw 
> an error “Can’t use direct connection” even when the connection is made 
> through proxy.
>  
> Webrev: http://cr.openjdk.java.net/~coffeys/webrev.8183369/index.html 
> <http://cr.openjdk.java.net/~coffeys/webrev.8183369/index.html>
> Issue: https://bugs.openjdk.java.net/browse/JDK-8183369 
> <https://bugs.openjdk.java.net/browse/JDK-8183369>
To better understand the issue and the behavior of the HTTP protocol
handler I had to dig into the history.

Back in JDK 9, the changes for 8161016 [1] altered the behavior of the
failed-proxy-connect case to not retry with a direct connection, but to
instead throw the IOException that occurred during the failed connection
attempt.

What is being proposed now is to reinstate the retry, but instead of
retrying with a direct connection, retry with the same proxy as
previously just failed. Right?

This effectively amounts to the following changes ( over that of what
is in JDK 8 ):

   --- http = getNewHttpClient(url, null, connectTimeout, false);
   +++ http = getNewHttpClient(url, p, connectTimeout, false);

I notice that the `break` from the original code has not been
reintroduced. I don't think that it is strictly needed, but did you give
it any consideration?

-Chris.

[1] 8161016: Strange behavior of URLConnection with proxy
    https://hg.openjdk.java.net/jdk/jdk/rev/9b5eee5d7a26


Reply via email to