@ -555,6 +555,7 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -555,6 +555,7 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
}
else{
MultipartUtils.closeChannel(newState.channel);
MultipartUtils.deleteFile(newState.file);
this.content.forEach(DataBufferUtils::release);
}
}
@ -586,6 +587,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -586,6 +587,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
privatevolatilebooleancloseOnDispose=true;
privatevolatilebooleandeleteOnDispose=true;
publicIdleFileState(WritingFileStatestate){
this.headers=state.headers;
@ -600,16 +603,20 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -600,16 +603,20 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
"Part exceeded the disk usage limit of "+PartGenerator.this.maxDiskUsagePerPart+
@ -620,6 +627,7 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -620,6 +627,7 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@ -628,6 +636,9 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -628,6 +636,9 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
if(this.closeOnDispose){
MultipartUtils.closeChannel(this.channel);
}
if(this.deleteOnDispose){
MultipartUtils.deleteFile(this.file);
}
}
@ -651,6 +662,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -651,6 +662,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@ -701,11 +714,15 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -701,11 +714,15 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
if(this.completed){
newState.onComplete();
}
elseif(this.disposed){
newState.dispose();
}
elseif(changeState(this,newState)){
requestToken();
}
else{
MultipartUtils.closeChannel(this.channel);
MultipartUtils.deleteFile(this.file);
}
}
@ -719,6 +736,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -719,6 +736,8 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
returnMono.empty();
}
catch(IOExceptionex){
MultipartUtils.closeChannel(this.channel);
MultipartUtils.deleteFile(this.file);
returnMono.error(ex);
}
finally{
@ -726,6 +745,12 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {
@@ -726,6 +745,12 @@ final class PartGenerator extends BaseSubscriber<MultipartParser.Token> {