diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2024-01-25 00:05:55 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-24 11:05:55 -0800 |
| commit | 0b71fae2e30f2129292bc1696498d99ce89df389 (patch) | |
| tree | 9e5c54879959a55c2af6816c0c9ea2254e81f6b5 | |
| parent | 95787ea89debfc816e7c8f818156f440063d5d8d (diff) | |
| download | seaweedfs-0b71fae2e30f2129292bc1696498d99ce89df389.tar.xz seaweedfs-0b71fae2e30f2129292bc1696498d99ce89df389.zip | |
fix: s3tests test_get_object_ifnonematch_good (#5237)
| -rw-r--r-- | weed/server/filer_server_handlers_read.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 6bdd6a9dd..f5f652f83 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -67,12 +67,14 @@ func checkPreconditions(w http.ResponseWriter, r *http.Request, entry *filer.Ent ifModifiedSinceHeader := r.Header.Get("If-Modified-Since") if ifNoneMatchETagHeader != "" { if util.CanonicalizeETag(etag) == util.CanonicalizeETag(ifNoneMatchETagHeader) { + setEtag(w, etag) w.WriteHeader(http.StatusNotModified) return true } } else if ifModifiedSinceHeader != "" { if t, parseError := time.Parse(http.TimeFormat, ifModifiedSinceHeader); parseError == nil { if !t.Before(entry.Attr.Mtime) { + setEtag(w, etag) w.WriteHeader(http.StatusNotModified) return true } @@ -147,11 +149,11 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) return } - etag := filer.ETagEntry(entry) if checkPreconditions(w, r, entry) { return } + etag := filer.ETagEntry(entry) w.Header().Set("Accept-Ranges", "bytes") // mime type |
