On Wed, 9 Apr 2025 14:21:57 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:

>> test/jdk/java/net/httpclient/EmptyAuthenticate.java line 75:
>> 
>>> 73:     void test(Version version, boolean secure) throws Exception {
>>> 74:         String uriPath = 
>>> "/%s/%s/%s".formatted(EmptyAuthenticate.class.getSimpleName(), version, 
>>> secure ? 's' : 'c');
>>> 75:         HttpTestServer server = createServer(version, secure, uriPath);
>> 
>> It's  actually better practice to have uri looks like "/rootpath/morechars" 
>> and register the handler for "/rootpath/"
>> => make sure the path you pass to addHandler ends with "/". 
>> 
>> Suggestion:
>> 
>>         String handlerPath = 
>> "/%s/%s/".formatted(EmptyAuthenticate.class.getSimpleName(), version)
>>         String uriPath = handlerPath + (secure ? 's' : 'c');
>>         HttpTestServer server = createServer(version, secure, handlerPath);
>
> Rationale:   if you add a handler for "/foo" it will match "/foo/x" but also 
> "/foobar" which is not always expected by the developper. The recommendation 
> is therefore to use "/foo/" instead of "/foo" if you don't want "/foobar" to 
> be matched.

@dfuch, thanks so much for keeping an eye on this and the clarification. I had 
thought the difference in request and handler paths in your initial suggestion 
was an oversight, not something intentional.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24542#discussion_r2035509851

Reply via email to