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

View file

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