RFR: 8355360: -d option of jwebserver command should accept relative paths [v3]

Volkan Yazici vyazici at openjdk.org
Thu May 8 13:45:40 UTC 2025


On Thu, 8 May 2025 13:42:37 GMT, Volkan Yazici <vyazici at openjdk.org> wrote:

>> Allows relative paths in the content root directory passed to the `jwebserver`. Changes effect both the `jwebserver` executable and the `java -m jdk.httpserver` execution.
>> 
>> ### Implementation notes
>> 
>> Received `Path` is read using `toRealPath()`, and then employed in `s.n.h.s.FileServerHandler`, which is the only place in the web server code where an absolute path requirement is present.
>
> Volkan Yazici has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Revert `SimpleFileServerImpl` changes, and allow relative paths in `FileServerHandler` instead

src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java line 81:

> 79:         if (!Files.exists(root)) {
> 80:             throw new IllegalArgumentException("Path does not exist: " + root);
> 81:         }

As I tried to explain in the comment block above, without this pre-check, non-existent files are reported poorly:


$ build/linux-x64/jdk/bin/jwebserver -d no-such-file
Error: server config failed: Path is invalid: no-such-file
$ _


Note the lack of context regarding the failure.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25113#discussion_r2079748206


More information about the net-dev mailing list