From 65b237d8422fc039bd74a6734a6ed2431a371674 Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Thu, 24 Apr 2025 17:36:29 +0800 Subject: [PATCH] HttpEntity.EMPTY should be immutable Fix GH-34806 Signed-off-by: Yanming Zhou --- .../main/java/org/springframework/http/HttpEntity.java | 3 ++- .../java/org/springframework/http/HttpEntityTests.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/HttpEntity.java b/spring-web/src/main/java/org/springframework/http/HttpEntity.java index fd1f79b30b1f..5ea184d81f05 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpEntity.java +++ b/spring-web/src/main/java/org/springframework/http/HttpEntity.java @@ -50,6 +50,7 @@ * * @author Arjen Poutsma * @author Juergen Hoeller + * @author Yanming Zhou * @since 3.0.2 * @param the body type * @see org.springframework.web.client.RestTemplate @@ -61,7 +62,7 @@ public class HttpEntity { /** * The empty {@code HttpEntity}, with no body or headers. */ - public static final HttpEntity EMPTY = new HttpEntity<>(); + public static final HttpEntity EMPTY = new HttpEntity<>(HttpHeaders.EMPTY); private final HttpHeaders headers; diff --git a/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java b/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java index 808898497cc8..35c47972c74b 100644 --- a/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java +++ b/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java @@ -24,6 +24,7 @@ /** * @author Arjen Poutsma + * @author Yanming Zhou */ class HttpEntityTests { @@ -120,4 +121,11 @@ void requestEntity() { assertThat(requestEntity2).isEqualTo(requestEntity); } + @Test + void emptyHttpEntityShouldBeImmutable() { + HttpHeaders newHeaders = new HttpHeaders(HttpEntity.EMPTY.getHeaders()); + newHeaders.add("Authorization", "Bearer some-token"); + assertThat(HttpEntity.EMPTY.getHeaders().headerNames()).isEmpty(); + } + }