On Wed, 23 Jun 2021 18:02:02 GMT, Julia Boes <jb...@openjdk.org> wrote:
>> `com.sun.net.httpserver.Headers` normalizes its keys to adhere to the >> following format: First character uppercase, all other characters lowercase, >> for example `"foo" -> "Foo"`. This behaviour is not consistent across the >> mutator methods of the class, in particular `putAll()` and `replaceAll()` do >> not apply normalization. >> >> The suggested fix is to update the implementation of `putAll()` and to add >> an implementation of of the java.util.Map default method `replaceAll()`. >> While here, we can improve `equals()` by adding a type check and add a >> `toString()` implementation. >> >> Additionally, the Headers class is updated to disallow null values for keys >> and values. > > Julia Boes has updated the pull request incrementally with one additional > commit since the last revision: > > confirm HttpExchange::sendResponseHeaders fails if key/value null Marked as reviewed by dfuchs (Reviewer). src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 115: > 113: @Override > 114: public boolean containsKey(Object key) { > 115: Objects.requireNonNull(key); I haven't looked at the CSR yet - but maybe the fact that the get and contains* method can now throw NPE - in conformance to the Map interface specification for maps that do not allow null keys or null values, should be explicitly mentioned - in particular in the release note - as this will probably be the less expected behavior change. ------------- PR: https://git.openjdk.java.net/jdk/pull/4528