Browse Source

return x-amz-tag-count header when GET object.

pull/1566/head
ruitao.liu 4 years ago
parent
commit
19026ae55d
  1. 2
      weed/s3api/filer_util_tags.go
  2. 13
      weed/server/filer_server_handlers_read.go

2
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) {

13
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+"\"" {

Loading…
Cancel
Save