mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-22 05:49:04 +00:00
Append query on redirect in UrlHandlerFilter
Closes gh-35873
This commit is contained in:
@@ -299,9 +299,14 @@ public final class UrlHandlerFilter extends OncePerRequestFilter {
|
||||
public void handleInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
|
||||
throws IOException {
|
||||
|
||||
String location = trimTrailingSlash(request.getRequestURI());
|
||||
if (StringUtils.hasText(request.getQueryString())) {
|
||||
location += "?" + request.getQueryString();
|
||||
}
|
||||
|
||||
response.resetBuffer();
|
||||
response.setStatus(this.httpStatus.value());
|
||||
response.setHeader(HttpHeaders.LOCATION, trimTrailingSlash(request.getRequestURI()));
|
||||
response.setHeader(HttpHeaders.LOCATION, location);
|
||||
response.flushBuffer();
|
||||
}
|
||||
}
|
||||
|
||||
+8
-1
@@ -290,9 +290,16 @@ public final class UrlHandlerFilter implements WebFilter {
|
||||
|
||||
@Override
|
||||
public Mono<Void> handleInternal(ServerWebExchange exchange, WebFilterChain chain) {
|
||||
ServerHttpRequest request = exchange.getRequest();
|
||||
String query = request.getURI().getRawQuery();
|
||||
String location = trimTrailingSlash(request);
|
||||
if (StringUtils.hasText(query)) {
|
||||
location += "?" + query;
|
||||
}
|
||||
|
||||
ServerHttpResponse response = exchange.getResponse();
|
||||
response.setStatusCode(this.statusCode);
|
||||
response.getHeaders().set(HttpHeaders.LOCATION, trimTrailingSlash(exchange.getRequest()));
|
||||
response.getHeaders().set(HttpHeaders.LOCATION, location);
|
||||
return Mono.empty();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user