RFR: 8353278: Consolidate local file URL checks in jar: and file: URL schemes
Eirik Bjørsnøs
eirbjo at openjdk.org
Tue Apr 1 07:02:18 UTC 2025
Please help review this cleanup PR which consolidates 'local file' URL checks across the 'file:' and 'jar:' URL scheme implementations and defines this check in terms of RFC 8089, Section 2.
This PR:
* Moves `URLJarFile.isFileURL` to `sun.net.www.ParseUtil` where it is documented according to RFC 8089 and given the more suitable name `isLocalFileURL`
* Updates `isLocalFileURL` to simplify an `if (x) return true;` statement to `return x;`
* Updates `URLJarFile.getJarFile` and `JarFileFactory.getOrCreate` to use `isLocalFileURL`
* Updates `JarFileFactory.urlFor` to use `isLocalFileURL` (while maintaining and documenting the historical and subtly different non-treatment of '~' as an alias for 'localhost')
* Updates `sun.net.www.protocol.file.Handler.openConnection` to use `isLocalFileURL` in windows/unix implementations
This is a pure cleanup / refactoring PR, no tests are updated here. Existing testing in this area seems sparse, so I have tried to limit the number of code tweaks to a minimium to make reviews easier.
Testing: GHA runs green, as well as tier2 on MacOS.
-------------
Commit messages:
- Consolidate "local file" URL testing as defined by RFC 8089, Section 2
Changes: https://git.openjdk.org/jdk/pull/24332/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24332&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8353278
Stats: 46 lines in 5 files changed: 18 ins; 17 del; 11 mod
Patch: https://git.openjdk.org/jdk/pull/24332.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24332/head:pull/24332
PR: https://git.openjdk.org/jdk/pull/24332
More information about the net-dev
mailing list