Skip to content

Commit 583435d

Browse files
committed
Consistent ordering in MethodNotAllowedException
This caused random failures in a newly added test. Also remove defensive check in ResponseStatusExceptionResolver. See gh-24944
1 parent 2002a16 commit 583435d

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

spring-web/src/main/java/org/springframework/web/server/MethodNotAllowedException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import java.util.Collection;
2020
import java.util.Collections;
21-
import java.util.HashSet;
21+
import java.util.LinkedHashSet;
2222
import java.util.Map;
2323
import java.util.Set;
2424

@@ -54,7 +54,7 @@ public MethodNotAllowedException(String method, @Nullable Collection<HttpMethod>
5454
supportedMethods = Collections.emptySet();
5555
}
5656
this.method = method;
57-
this.httpMethods = Collections.unmodifiableSet(new HashSet<>(supportedMethods));
57+
this.httpMethods = Collections.unmodifiableSet(new LinkedHashSet<>(supportedMethods));
5858
}
5959

6060

spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/annotation/ResponseStatusExceptionResolver.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,8 @@ protected ModelAndView resolveResponseStatus(ResponseStatus responseStatus, Http
130130
protected ModelAndView resolveResponseStatusException(ResponseStatusException ex,
131131
HttpServletRequest request, HttpServletResponse response, @Nullable Object handler) throws Exception {
132132

133-
ex.getResponseHeaders().forEach((name, values) -> {
134-
if (response.getHeader(name) == null) {
135-
values.forEach(value -> response.addHeader(name, value));
136-
}
137-
});
133+
ex.getResponseHeaders().forEach((name, values) ->
134+
values.forEach(value -> response.addHeader(name, value)));
138135

139136
int statusCode = ex.getStatus().value();
140137
String reason = ex.getReason();

0 commit comments

Comments
 (0)