Skip to content

Commit ca6a92b

Browse files
committed
fix: changes empty mp parts error on CompleteMultipartUpload
Fixes #1328 If `CompleteMultipartUpload` is attempted with empty `Parts` list, the gateway used to return `InvalidRequest`. Now it's changed to `MalformedXML`.
1 parent 51e5487 commit ca6a92b

File tree

4 files changed

+3
-9
lines changed

4 files changed

+3
-9
lines changed

s3api/controllers/object-post.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ func (c S3ApiController) CompleteMultipartUpload(ctx *fiber.Ctx) (*Response, err
278278
MetaOpts: &MetaOptions{
279279
BucketOwner: parsedAcl.Owner,
280280
},
281-
}, s3err.GetAPIError(s3err.ErrEmptyParts)
281+
}, s3err.GetAPIError(s3err.ErrMalformedXML)
282282
}
283283

284284
var mpuObjectSize *int64

s3api/controllers/object-post_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ func TestS3ApiController_CompleteMultipartUpload(t *testing.T) {
404404
BucketOwner: "root",
405405
},
406406
},
407-
err: s3err.GetAPIError(s3err.ErrEmptyParts),
407+
err: s3err.GetAPIError(s3err.ErrMalformedXML),
408408
},
409409
},
410410
{

s3err/s3err.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ const (
8282
ErrInvalidPartNumberMarker
8383
ErrInvalidObjectAttributes
8484
ErrInvalidPart
85-
ErrEmptyParts
8685
ErrInvalidPartNumber
8786
ErrInvalidPartOrder
8887
ErrInvalidCompleteMpPartNumber
@@ -311,11 +310,6 @@ var errorCodeResponse = map[ErrorCode]APIError{
311310
Description: "One or more of the specified parts could not be found. The part may not have been uploaded, or the specified entity tag may not match the part's entity tag.",
312311
HTTPStatusCode: http.StatusBadRequest,
313312
},
314-
ErrEmptyParts: {
315-
Code: "InvalidRequest",
316-
Description: "You must specify at least one part",
317-
HTTPStatusCode: http.StatusBadRequest,
318-
},
319313
ErrInvalidPartNumber: {
320314
Code: "InvalidArgument",
321315
Description: "Part number must be an integer between 1 and 10000, inclusive.",

tests/integration/tests.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13012,7 +13012,7 @@ func CompleteMultipartUpload_empty_parts(s *S3Conf) error {
1301213012
},
1301313013
})
1301413014
cancel()
13015-
if err := checkApiErr(err, s3err.GetAPIError(s3err.ErrEmptyParts)); err != nil {
13015+
if err := checkApiErr(err, s3err.GetAPIError(s3err.ErrMalformedXML)); err != nil {
1301613016
return err
1301713017
}
1301813018

0 commit comments

Comments
 (0)