> 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

Daniel Fuchs has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains two additional commits since the 
last revision:

 - Merge branch 'master' into url-early-parsing-8293590
 - 8293590

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10534/files
  - new: https://git.openjdk.org/jdk/pull/10534/files/b612f6e4..18ea5282

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10534&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10534&range=00-01

  Stats: 7922 lines in 193 files changed: 4924 ins; 2174 del; 824 mod
  Patch: https://git.openjdk.org/jdk/pull/10534.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10534/head:pull/10534

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

Reply via email to