From 95a84bbad1dc04954376ff2d4f40ab233923522a Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 2 Apr 2019 20:04:00 +0200 Subject: [PATCH] Clarify case-insensitive nature of HttpHeaders Closes gh-22723 --- .../src/main/java/org/springframework/http/HttpHeaders.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index ea7d72fbbb..939941539a 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -63,6 +63,8 @@ import org.springframework.util.StringUtils; *
  • {@link #set(String, String)} sets the header value to a single string value
  • * * + *

    Note that {@code HttpHeaders} generally treats header names in a case-insensitive manner. + * * @author Arjen Poutsma * @author Sebastien Deleuze * @author Brian Clozel @@ -415,6 +417,7 @@ public class HttpHeaders implements MultiValueMap, Serializable /** * Construct a new, empty instance of the {@code HttpHeaders} object. + *

    This is the common constructor, using a case-insensitive map structure. */ public HttpHeaders() { this(CollectionUtils.toMultiValueMap(new LinkedCaseInsensitiveMap<>(8, Locale.ENGLISH))); @@ -422,6 +425,9 @@ public class HttpHeaders implements MultiValueMap, Serializable /** * Construct a new {@code HttpHeaders} instance backed by an existing map. + *

    This constructor is available as an optimization for adapting to existing + * headers map structures, primarily for internal use within the framework. + * @param headers the headers map (expected to operate with case-insensitive keys) * @since 5.1 */ public HttpHeaders(MultiValueMap headers) {