RFR: 8353278: Consolidate local file URL checks in jar: and file: URL schemes

Daniel Fuchs dfuchs at openjdk.org
Tue Apr 1 13:27:25 UTC 2025


On Mon, 31 Mar 2025 14:46:32 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

> 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.

Hi Eirik,

This looks like a nice simplification. Thanks for proposing these changes. I would llike to run them in our CI but may not be able to get to that today.

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

PR Review: https://git.openjdk.org/jdk/pull/24332#pullrequestreview-2732684988


More information about the net-dev mailing list