RFR: 8263506: Make sun.net.httpserver.UnmodifiableHeaders unmodifiable
Michael McMahon
michaelm at openjdk.java.net
Mon Mar 22 16:32:44 UTC 2021
On Mon, 22 Mar 2021 16:23:27 GMT, Daniel Fuchs <dfuchs at 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
More information about the net-dev
mailing list