Integrated: 8293590: Some syntax checks performed by URL.openConnection() could be performed earlier, at URL construction

Daniel Fuchs dfuchs at openjdk.org
Tue Oct 18 14:35:13 UTC 2022


On Mon, 3 Oct 2022 13:35:26 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

> Many built-in URL Handlers perform additional syntax checking on the URL when `URLStreamHandler::openConnection` / connect is called. In some cases, some of these checks could be also performed earlier, when `URLStreamHandler::parseURL` is called.
> 
> This fix proposes to slightly modify the behavior of JDK built-in URL handlers to perform these checks early, and throw `MalformedURLException` earlier, at URL construction time, when that is possible, instead of delaying until `URL::openConnection` or `URLConnection::connect` are called.
> 
> Because java.net.URL constructors are already specified to throw `MalformedURLException` in such cases, no API documentation changes are necessary. 
> 
> A new JDK specific system property `-Djdk.net.url.delayParsing` or `-Djdk.net.url.delayParsing=true` can be specified on the command line to revert to the previous behavior. By default, the property is not set, and the new behavior is in place. The property can be specified on the java command line if unexpected regressions are observed.
> 
> The new property will be documented in release notes, and may be removed in a future release.
> 
> CSR: https://bugs.openjdk.org/browse/JDK-8294592

This pull request has now been integrated.

Changeset: bd41428a
Author:    Daniel Fuchs <dfuchs at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/bd41428a5602e59034e61bf34eed686d4c7b052a
Stats:     641 lines in 4 files changed: 602 ins; 3 del; 36 mod

8293590: Some syntax checks performed by URL.openConnection() could be performed earlier, at URL construction

Reviewed-by: jpai, michaelm

-------------

PR: https://git.openjdk.org/jdk/pull/10534


More information about the net-dev mailing list