On Mon, 22 Mar 2021 16:23:27 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> The fix makes the map in sun.net.httpserver.UnmodifiableHeaders unmodifiable >> by wrapping it in an unmodifiable view. > > src/jdk.httpserver/share/classes/sun/net/httpserver/UnmodifiableHeaders.java > line 34: > >> 32: public class UnmodifiableHeaders extends Headers { >> 33: >> 34: private Map<String, List<String>> map; > > How about: > > private final Headers headers; > private final Map<String, List<String>> map; > > public UnmodifiableHeaders(Headers headers) { > this.map = Collections.unmodifiableMap(headers); > this.headers = headers; > } > > Then getFirst simply becomes `return headers.getFirst(key);` I guess this presumes that no reference to `headers` escapes? Can that be assumed? ------------- PR: https://git.openjdk.java.net/jdk/pull/3032