aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2021-10-28 08:16:56 -0700
committerGitHub <noreply@github.com>2021-10-28 08:16:56 -0700
commit608dc11a286f31c3eb9b3e7c3c05a2e38368d789 (patch)
tree687be2f6e637ce3c341e3cc3c57c03cc7ef045c2
parent2e76834e4da0ae430f68befa42a82a497e9521ff (diff)
parentdc3ae5e8a624104ea7ad119e4575aadf852a8205 (diff)
downloadseaweedfs-608dc11a286f31c3eb9b3e7c3c05a2e38368d789.tar.xz
seaweedfs-608dc11a286f31c3eb9b3e7c3c05a2e38368d789.zip
Merge pull request #2397 from kmlebedev/fix_DeleteBucketLifecycleConfiguration
fix DeleteBucketLifecycleConfiguration
-rw-r--r--weed/s3api/s3api_bucket_handlers.go3
-rw-r--r--weed/s3api/s3api_server.go11
2 files changed, 9 insertions, 5 deletions
diff --git a/weed/s3api/s3api_bucket_handlers.go b/weed/s3api/s3api_bucket_handlers.go
index b75012e9d..c45210b92 100644
--- a/weed/s3api/s3api_bucket_handlers.go
+++ b/weed/s3api/s3api_bucket_handlers.go
@@ -268,6 +268,7 @@ func (s3a *S3ApiServer) GetBucketLifecycleConfigurationHandler(w http.ResponseWr
ttls := fc.GetCollectionTtls(bucket)
if len(ttls) == 0 {
s3err.WriteErrorResponse(w, s3err.ErrNoSuchLifecycleConfiguration, r)
+ return
}
response := Lifecycle{}
for prefix, internalTtl := range ttls {
@@ -299,6 +300,6 @@ func (s3a *S3ApiServer) PutBucketLifecycleConfigurationHandler(w http.ResponseWr
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
func (s3a *S3ApiServer) DeleteBucketLifecycleHandler(w http.ResponseWriter, r *http.Request) {
- s3err.WriteErrorResponse(w, s3err.ErrNotImplemented, r)
+ s3err.WriteEmptyResponse(w, http.StatusNoContent)
}
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go
index ee961bf3b..1f948a9cb 100644
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -103,13 +103,9 @@ func (s3a *S3ApiServer) registerRouter(router *mux.Router) {
bucket.Methods("PUT").Path("/{object:.+}").HeadersRegexp("X-Amz-Copy-Source", ".*?(\\/|%2F).*?").HandlerFunc(track(s3a.iam.Auth(s3a.CopyObjectHandler, ACTION_WRITE), "COPY"))
// PutObject
bucket.Methods("PUT").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.PutObjectHandler, ACTION_WRITE), "PUT"))
- // PutBucket
- bucket.Methods("PUT").HandlerFunc(track(s3a.iam.Auth(s3a.PutBucketHandler, ACTION_ADMIN), "PUT"))
// DeleteObject
bucket.Methods("DELETE").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.DeleteObjectHandler, ACTION_WRITE), "DELETE"))
- // DeleteBucket
- bucket.Methods("DELETE").HandlerFunc(track(s3a.iam.Auth(s3a.DeleteBucketHandler, ACTION_WRITE), "DELETE"))
// ListObjectsV2
bucket.Methods("GET").HandlerFunc(track(s3a.iam.Auth(s3a.ListObjectsV2Handler, ACTION_LIST), "LIST")).Queries("list-type", "2")
@@ -139,6 +135,13 @@ func (s3a *S3ApiServer) registerRouter(router *mux.Router) {
// ListObjectsV1 (Legacy)
bucket.Methods("GET").HandlerFunc(track(s3a.iam.Auth(s3a.ListObjectsV1Handler, ACTION_LIST), "LIST"))
+
+ // PutBucket
+ bucket.Methods("PUT").HandlerFunc(track(s3a.iam.Auth(s3a.PutBucketHandler, ACTION_ADMIN), "PUT"))
+
+ // DeleteBucket
+ bucket.Methods("DELETE").HandlerFunc(track(s3a.iam.Auth(s3a.DeleteBucketHandler, ACTION_WRITE), "DELETE"))
+
/*
// not implemented