On Tue, 16 Mar 2021 14:30:39 GMT, Michael McMahon <micha...@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 60:
> 
>> 58:             map.forEach((k, v) -> headers.add(k, v.get(0)));
>> 59:             return headers.getFirst(key);
>> 60:         }
> 
> Should be possible to just return a reference to the first String in the map 
> rather than instantiating a new Headers and populating it just for the 
> duration of the call.

Headers normalizes the key before any get/getFirst, for example Headers line 
131:

`public List<String> get(Object key) {
            return map.get(normalize((String)key));
        }`

I assume we want to maintain this behaviour, but there might be a better way 
than creating this local Headers?

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

PR: https://git.openjdk.java.net/jdk/pull/3032

Reply via email to