Browse Source

Merge pull request #1566 from taozix/master

return x-amz-tag-count header when GET object.
pull/1569/head
Chris Lu 4 years ago
committed by GitHub
parent
commit
432c6f8db3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  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 ( const (
S3TAG_PREFIX = "s3-"
S3TAG_PREFIX = "x-amz-tagging-"
) )
func (s3a *S3ApiServer) getTags(parentDirectoryPath string, entryName string) (tags map[string]string, err error) { 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, "x-amz-tagging-") {
tagCount++
}
}
if tagCount > 0 {
w.Header().Set("x-amz-tag-count", strconv.Itoa(tagCount))
}
}
// set etag // set etag
etag := filer.ETagEntry(entry) etag := filer.ETagEntry(entry)
if inm := r.Header.Get("If-None-Match"); inm == "\""+etag+"\"" { if inm := r.Header.Get("If-None-Match"); inm == "\""+etag+"\"" {

Loading…
Cancel
Save