This commit ensures that any storage used for multipart handling only
gets cleaned up if multipart data is actually retrieved via
ServerWebExchange::getMultipartData.
Closes gh-30590
@ -108,6 +108,11 @@ public class ServerWebExchangeDecorator implements ServerWebExchange {
@@ -108,6 +108,11 @@ public class ServerWebExchangeDecorator implements ServerWebExchange {
@ -93,6 +93,8 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@@ -93,6 +93,8 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@ -131,7 +133,7 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@@ -131,7 +133,7 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@ -154,10 +156,9 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@@ -154,10 +156,9 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@ -168,7 +169,8 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@@ -168,7 +169,8 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@ -243,6 +245,22 @@ public class DefaultServerWebExchange implements ServerWebExchange {
@@ -243,6 +245,22 @@ public class DefaultServerWebExchange implements ServerWebExchange {
returnthis.multipartDataMono;
}
@Override
publicMono<Void>cleanupMultipart(){
if(this.multipartRead){
returngetMultipartData()
.onErrorResume(t->Mono.empty())// ignore errors reading multipart data