aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruitao.liu <ruitao.liu@cloudminds.com>2020-10-27 16:49:31 +0800
committerruitao.liu <ruitao.liu@cloudminds.com>2020-10-27 16:49:31 +0800
commit19026ae55d08ef971be1cfb6b66b75069763c6ae (patch)
treebea511e056a493fa8014adef9cf377c93419b521
parent44921220b01d21c64755cbc7560ff8932f71984d (diff)
downloadseaweedfs-19026ae55d08ef971be1cfb6b66b75069763c6ae.tar.xz
seaweedfs-19026ae55d08ef971be1cfb6b66b75069763c6ae.zip
return x-amz-tag-count header when GET object.
-rw-r--r--weed/s3api/filer_util_tags.go2
-rw-r--r--weed/server/filer_server_handlers_read.go13
2 files changed, 14 insertions, 1 deletions
diff --git a/weed/s3api/filer_util_tags.go b/weed/s3api/filer_util_tags.go
index 3d4da7825..fde8e243e 100644
--- a/weed/s3api/filer_util_tags.go
+++ b/weed/s3api/filer_util_tags.go
@@ -7,7 +7,7 @@ import (
)
const (
- S3TAG_PREFIX = "s3-"
+ S3TAG_PREFIX = "s3-tag-"
)
func (s3a *S3ApiServer) getTags(parentDirectoryPath string, entryName string) (tags map[string]string, err error) {
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go
index fbd45d6b9..ca584f9f6 100644
--- a/weed/server/filer_server_handlers_read.go
+++ b/weed/server/filer_server_handlers_read.go
@@ -93,6 +93,19 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request,
}
}
+ //set tag count
+ if r.Method == "GET" {
+ tagCount := 0
+ for k, _ := range entry.Extended {
+ if strings.HasPrefix(k, "s3-tag-") {
+ tagCount++
+ }
+ }
+ if tagCount > 0 {
+ w.Header().Set("x-amz-tag-count", strconv.Itoa(tagCount))
+ }
+ }
+
// set etag
etag := filer.ETagEntry(entry)
if inm := r.Header.Get("If-None-Match"); inm == "\""+etag+"\"" {