aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2024-01-25 00:05:55 +0500
committerGitHub <noreply@github.com>2024-01-24 11:05:55 -0800
commit0b71fae2e30f2129292bc1696498d99ce89df389 (patch)
tree9e5c54879959a55c2af6816c0c9ea2254e81f6b5
parent95787ea89debfc816e7c8f818156f440063d5d8d (diff)
downloadseaweedfs-0b71fae2e30f2129292bc1696498d99ce89df389.tar.xz
seaweedfs-0b71fae2e30f2129292bc1696498d99ce89df389.zip
fix: s3tests test_get_object_ifnonematch_good (#5237)
-rw-r--r--weed/server/filer_server_handlers_read.go4
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