Browse Source

Fix HttpHeaders.setHost() to remove the header

See gh-33716
pull/33778/head
Ilya Serkov 1 year ago committed by rstoyanchev
parent
commit
657e002ed7
  1. 2
      spring-web/src/main/java/org/springframework/http/HttpHeaders.java
  2. 9
      spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java

2
spring-web/src/main/java/org/springframework/http/HttpHeaders.java

@ -1136,7 +1136,7 @@ public class HttpHeaders implements MultiValueMap<String, String>, Serializable
set(HOST, value); set(HOST, value);
} }
else { else {
remove(HOST, null); remove(HOST);
} }
} }

9
spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java

@ -213,6 +213,15 @@ class HttpHeadersTests {
assertThat(headers.getFirst("Host")).as("Invalid Host header").isEqualTo("[::1]"); assertThat(headers.getFirst("Host")).as("Invalid Host header").isEqualTo("[::1]");
} }
@Test
void hostDeletion() {
InetSocketAddress host = InetSocketAddress.createUnresolved("localhost", 8080);
headers.setHost(host);
headers.setHost(null);
assertThat(headers.getHost()).as("Host is not deleted").isEqualTo(null);
assertThat(headers.getFirst("Host")).as("Host is not deleted").isEqualTo(null);
}
@Test @Test
void eTagWithoutQuotes() { void eTagWithoutQuotes() {
headers.setETag("v2.6"); headers.setETag("v2.6");

Loading…
Cancel
Save