RFR: 8231632: HttpURLConnection::usingProxy could specify that it may lazily evaluate the fact
Julia Boes
julia.boes at oracle.com
Fri Oct 18 09:02:09 UTC 2019
Hi,
Chris and Daniel provided some off-list feedback regarding the
ProxySelector::select call. It returns a list of proxies, which could be
dynamic. Each call can potentially return a different list of proxies so
it's not desirable to make that call twice. An alternative is to
maintain a class field that is set to true in the connect method, as
done in the updated webrev.
Webrev:
http://cr.openjdk.java.net/~jboes/webrevs/8231632/webrev.01/index.html
Regards,
Julia
On 17/10/2019 10:21, Julia Boes wrote:
> Hi,
>
> This fix involves HttpURLConnection::usingProxy.
>
> Previously, the method would return true only once the connection was
> established (once the underlying socket was connected) and would
> switch back to false when as the input stream was fully read. The new
> implementation checks whether an explicit proxy is set and if not, it
> invokes the ProxySelector to determine if a proxy is used. This widens
> the window in which the method returns a meaningful value. This is a
> best-effort as it might not always be able to determine if a proxy is
> actually used before the connection is established, as the
> ProxySelector might return different results when connect is called.
>
> An apinote is added to clarify the behaviour.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8231632
>
> Webrev:
> http://cr.openjdk.java.net/~jboes/webrevs/8231632/webrev.00/index.html
>
> I'll create a CSR for this once I gathered some feedback on this
> solution.
>
> The fix was tested with JCK java_net and tier 1 - 3.
>
> Regards,
>
> Julia
More information about the net-dev
mailing list