Merge branch '6.1.x'
This commit is contained in:
@@ -79,6 +79,8 @@ public final class WebAsyncManager {
|
||||
|
||||
private AsyncTaskExecutor taskExecutor = DEFAULT_TASK_EXECUTOR;
|
||||
|
||||
private boolean isMultipartRequestParsed;
|
||||
|
||||
@Nullable
|
||||
private volatile Object concurrentResult = RESULT_NONE;
|
||||
|
||||
@@ -242,6 +244,24 @@ public final class WebAsyncManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark the {@link WebAsyncManager} as wrapping a
|
||||
* multipart async request.
|
||||
* @since 6.1.12
|
||||
*/
|
||||
public void setMultipartRequestParsed(boolean isMultipart) {
|
||||
this.isMultipartRequestParsed = isMultipart;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return {@code true} if this {@link WebAsyncManager} was previously marked
|
||||
* as wrapping a multipart async request, {@code false} otherwise.
|
||||
* @since 6.1.12
|
||||
*/
|
||||
public boolean isMultipartRequestParsed() {
|
||||
return this.isMultipartRequestParsed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear {@linkplain #getConcurrentResult() concurrentResult} and
|
||||
* {@linkplain #getConcurrentResultContext() concurrentResultContext}.
|
||||
|
||||
@@ -1117,10 +1117,11 @@ public class DispatcherServlet extends FrameworkServlet {
|
||||
if (mappedHandler != null) {
|
||||
mappedHandler.applyAfterConcurrentHandlingStarted(processedRequest, response);
|
||||
}
|
||||
asyncManager.setMultipartRequestParsed(multipartRequestParsed);
|
||||
}
|
||||
else {
|
||||
// Clean up any resources used by a multipart request.
|
||||
if (multipartRequestParsed) {
|
||||
if (multipartRequestParsed || asyncManager.isMultipartRequestParsed()) {
|
||||
cleanupMultipart(processedRequest);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user