Skip to content

Commit 5b47816

Browse files
committed
DispatcherServlet skips multipart resolution if error page exception attribute indicates MultipartException as root cause
Issue: SPR-11716
1 parent fb66567 commit 5b47816

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ protected void doDispatch(HttpServletRequest request, HttpServletResponse respon
904904

905905
try {
906906
processedRequest = checkMultipart(request);
907-
multipartRequestParsed = processedRequest != request;
907+
multipartRequestParsed = (processedRequest != request);
908908

909909
// Determine handler for the current request.
910910
mappedHandler = getHandler(processedRequest);
@@ -1059,6 +1059,10 @@ protected HttpServletRequest checkMultipart(HttpServletRequest request) throws M
10591059
logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " +
10601060
"this typically results from an additional MultipartFilter in web.xml");
10611061
}
1062+
else if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) instanceof MultipartException) {
1063+
logger.debug("Multipart resolution failed for current request before - " +
1064+
"skipping re-resolution for undisturbed error rendering");
1065+
}
10621066
else {
10631067
return this.multipartResolver.resolveMultipart(request);
10641068
}

0 commit comments

Comments
 (0)