DefaultServerRequest parses the path if necessary

Closes gh-25353
This commit is contained in:
Rossen Stoyanchev
2020-07-10 05:48:07 +03:00
parent 490bdd11a5
commit 1dec4f3d0f

View File

@@ -101,7 +101,11 @@ class DefaultServerRequest implements ServerRequest {
this.params = CollectionUtils.toMultiValueMap(new ServletParametersMap(servletRequest));
this.attributes = new ServletAttributesMap(servletRequest);
this.requestPath = ServletRequestPathUtils.getParsedRequestPath(servletRequest);
// DispatcherServlet parses the path but for other scenarios (e.g. tests) we might need to
this.requestPath = (ServletRequestPathUtils.hasParsedRequestPath(servletRequest) ?
ServletRequestPathUtils.getParsedRequestPath(servletRequest) :
ServletRequestPathUtils.parseAndCache(servletRequest));
}
private static List<MediaType> allSupportedMediaTypes(List<HttpMessageConverter<?>> messageConverters) {