DispatcherServlet skips multipart resolution if error page exception attribute indicates MultipartException as root cause
Issue: SPR-11716
This commit is contained in:
@@ -904,7 +904,7 @@ public class DispatcherServlet extends FrameworkServlet {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
processedRequest = checkMultipart(request);
|
processedRequest = checkMultipart(request);
|
||||||
multipartRequestParsed = processedRequest != request;
|
multipartRequestParsed = (processedRequest != request);
|
||||||
|
|
||||||
// Determine handler for the current request.
|
// Determine handler for the current request.
|
||||||
mappedHandler = getHandler(processedRequest);
|
mappedHandler = getHandler(processedRequest);
|
||||||
@@ -1059,6 +1059,10 @@ public class DispatcherServlet extends FrameworkServlet {
|
|||||||
logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " +
|
logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " +
|
||||||
"this typically results from an additional MultipartFilter in web.xml");
|
"this typically results from an additional MultipartFilter in web.xml");
|
||||||
}
|
}
|
||||||
|
else if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) instanceof MultipartException) {
|
||||||
|
logger.debug("Multipart resolution failed for current request before - " +
|
||||||
|
"skipping re-resolution for undisturbed error rendering");
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return this.multipartResolver.resolveMultipart(request);
|
return this.multipartResolver.resolveMultipart(request);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user