fix test_s3.test_multi_object_delete_key_limit and

test_multi_objectv2_delete_key_limit
This commit is contained in:
Konstantin Lebedev 2022-03-29 16:55:09 +05:00
parent 51bd015179
commit 9231971c88
2 changed files with 15 additions and 0 deletions

View file

@ -27,6 +27,10 @@ import (
"github.com/chrislusf/seaweedfs/weed/util"
)
const (
deleteMultipleObjectsLimmit = 1000
)
func mimeDetect(r *http.Request, dataReader io.Reader) io.ReadCloser {
mimeBuffer := make([]byte, 512)
size, _ := dataReader.Read(mimeBuffer)
@ -217,6 +221,11 @@ func (s3a *S3ApiServer) DeleteMultipleObjectsHandler(w http.ResponseWriter, r *h
return
}
if len(deleteObjects.Objects) > deleteMultipleObjectsLimmit {
s3err.WriteErrorResponse(w, r, s3err.ErrInvalidMaxDeleteObjects)
return
}
var deletedObjects []ObjectIdentifier
var deleteErrors []DeleteError
var auditLog *s3err.AccessLog

View file

@ -61,6 +61,7 @@ const (
ErrInvalidMaxKeys
ErrInvalidMaxUploads
ErrInvalidMaxParts
ErrInvalidMaxDeleteObjects
ErrInvalidPartNumberMarker
ErrInvalidPart
ErrInternalError
@ -157,6 +158,11 @@ var errorCodeResponse = map[ErrorCode]APIError{
Description: "Argument max-parts must be an integer between 0 and 2147483647",
HTTPStatusCode: http.StatusBadRequest,
},
ErrInvalidMaxDeleteObjects: {
Code: "InvalidArgument",
Description: "Argument objects must be contains a list of up to 1000 keys",
HTTPStatusCode: http.StatusBadRequest,
},
ErrInvalidPartNumberMarker: {
Code: "InvalidArgument",
Description: "Argument partNumberMarker must be an integer.",