aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_object_handlers.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2022-03-30 01:27:13 -0700
committerGitHub <noreply@github.com>2022-03-30 01:27:13 -0700
commitce8ef60c597ebce86efab7bf50c9a6de8aeea7cf (patch)
tree150ee1dfd51d2daff173677dd9364113557f3934 /weed/s3api/s3api_object_handlers.go
parent8732cc24c8f64634aa4e14dbb9e400bf84640a2d (diff)
parent6317f6a8a9352575855da1dbe88a0fff48c69d92 (diff)
downloadseaweedfs-ce8ef60c597ebce86efab7bf50c9a6de8aeea7cf.tar.xz
seaweedfs-ce8ef60c597ebce86efab7bf50c9a6de8aeea7cf.zip
Merge pull request #2840 from kmlebedev/fix_multi_object_delete_key_limit
fix test_s3.test_multi_object_delete_key_limit and test_multi_objectv2_delete_key_limit
Diffstat (limited to 'weed/s3api/s3api_object_handlers.go')
-rw-r--r--weed/s3api/s3api_object_handlers.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_handlers.go b/weed/s3api/s3api_object_handlers.go
index 6bcf2266f..4d6c18a78 100644
--- a/weed/s3api/s3api_object_handlers.go
+++ b/weed/s3api/s3api_object_handlers.go
@@ -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