Fix "remove" implementation in netty headers adapter

Prior to this commit, the `Netty4HeadersAdapter` `MultiValueMapi#remove`
implementation would return an empty list if no value was present. This
is not consistent with other implementations.

This change ensures that `null` is returned for those cases.

Fixes gh-36226
This commit is contained in:
Brian Clozel
2026-01-29 11:06:46 +01:00
parent 16f4b23c32
commit e1d3076570
2 changed files with 14 additions and 1 deletions
@@ -82,6 +82,19 @@ class HeadersAdaptersTests {
.hasSize(0);
}
@ParameterizedHeadersTest
void shouldReturnNullWhenRemoveUnknown(MultiValueMap<String, String> headers) {
assertThat(headers.remove("unknown")).isEqualTo(null);
}
@ParameterizedHeadersTest
void shouldReturnPreviousValuesWhenRemove(MultiValueMap<String, String> headers) {
headers.add("TestHeader", "first");
headers.add("TestHEADER", "second");
assertThat(headers.remove("testheader")).hasSize(2);
}
@ParameterizedPopulatedHeadersTest
void toString(MultiValueMap<String, String> headers) {
String expectedFirstHeader = "TestHeader:\"first\", \"second\", \"third\"";