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

Jaikiran Pai jpai at openjdk.org
Wed Jun 5 10:47:12 UTC 2024


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.

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

Commit messages:
 - 8333590: UnmodifiableHeaders shadows field declared in parent class

Changes: https://git.openjdk.org/jdk/pull/19555/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19555&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8333590
  Stats: 77 lines in 2 files changed: 64 ins; 1 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/19555.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19555/head:pull/19555

PR: https://git.openjdk.org/jdk/pull/19555


More information about the net-dev mailing list