RFR: 8333590: UnmodifiableHeaders.toString() returns a value that represents empty headers

Daniel Fuchs dfuchs at openjdk.org
Wed Jun 5 10:55:57 UTC 2024


On Wed, 5 Jun 2024 10:42:15 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

> Can I please get a review of this change which proposes to fix the issue noted in https://bugs.openjdk.org/browse/JDK-8333590?
> 
> As noted in that issue the `sun.net.httpserver.UnmodifiableHeaders`, an internal class, within the `jdk.httpserver` module doesn't override the `toString()` method. `UnmodifiableHeaders` is of type `com.sun.net.httpserver.Headers` which is a public API in the `jdk.httpserver` module.
> 
> When applications call `Headers.toString()`, if the instance is of type `UnmodifiableHeaders`, then the returned `String` representation shows empty headers, even when it isn't empty. The commit in this PR fixes the issue by implementing `toString()` in the `UnmodifiableHeaders` to return the correct representation of the headers.
> 
> An existing jtreg test has been updated to reproduce this issue and verify the fix.

src/jdk.httpserver/share/classes/sun/net/httpserver/UnmodifiableHeaders.java line 125:

> 123:     @Override
> 124:     public String toString() {
> 125:         return this.headers.toString();

Suggestion:

        return headers.toString();

to keep with the style of other methods in this class

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19555#discussion_r1627507259


More information about the net-dev mailing list