Merge branch '7.0.x'

This commit is contained in:
Sam Brannen
2026-06-25 13:57:56 +02:00
2 changed files with 16 additions and 1 deletions
@@ -33,6 +33,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -443,7 +444,7 @@ class DefaultServerRequest implements ServerRequest {
List<String> value = Arrays.asList(entry.getValue());
return new SimpleImmutableEntry<>(entry.getKey(), value);
})
.collect(Collectors.toSet());
.collect(Collectors.toCollection(LinkedHashSet::new));
}
@Override
@@ -167,6 +167,20 @@ class DefaultServerRequestTests {
assertThat(request.param("foo")).contains("bar");
}
@Test // gh-36966
void paramsEntrySetPreservesOrder() {
MockHttpServletRequest servletRequest = PathPatternsTestUtils.initRequest("GET", "/", true);
servletRequest.setParameter("charlie", "3");
servletRequest.setParameter("alpha", "1");
servletRequest.setParameter("bravo", "2");
DefaultServerRequest request = new DefaultServerRequest(servletRequest, this.messageConverters);
assertThat(request.params().entrySet())
.extracting(Map.Entry::getKey)
.containsExactly("charlie", "alpha", "bravo");
}
@Test
void multipartData() throws Exception {
MockPart formPart = new MockPart("form", "foo".getBytes(UTF_8));