Fix TomcatHeadersAdapter.clear()

This commit fixes a regression introduced in TomcatHeadersAdapter in
conjunction with gh-33916.

Closes gh-34092
This commit is contained in:
Johnny Lim 2024-12-15 22:58:47 +09:00 committed by Sam Brannen
parent 5cbb5d4d70
commit c8009dc67d
2 changed files with 43 additions and 2 deletions

View File

@ -163,8 +163,8 @@ class TomcatHeadersAdapter implements MultiValueMap<String, String> {
@Override
public void clear() {
for (int i = 0 ; i < this.headers.size(); i++) {
this.headers.removeHeader(i);
while (this.headers.size() > 0) {
this.headers.removeHeader(0);
}
}

View File

@ -0,0 +1,41 @@
/*
* Copyright 2002-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.http.server.reactive;
import org.apache.tomcat.util.http.MimeHeaders;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link TomcatHeadersAdapter}.
*
* @author Johnny Lim
*/
class TomcatHeadersAdapterTests {
@Test
void clear() {
MimeHeaders mimeHeaders = new MimeHeaders();
TomcatHeadersAdapter adapter = new TomcatHeadersAdapter(mimeHeaders);
adapter.add("key1", "value1");
adapter.add("key2", "value2");
adapter.clear();
assertThat(adapter).isEmpty();
}
}