fix refresh policy
This commit is contained in:
parent
b4d5a8a4eb
commit
dbff5b7c44
@ -222,6 +222,7 @@ func (server *Server) handleRequest(w http.ResponseWriter, r *http.Request) {
|
|||||||
ranged := r.Header.Get("Range") != ""
|
ranged := r.Header.Get("Range") != ""
|
||||||
|
|
||||||
localStatus, mtime, err := server.checkLocal(w, r, fullpath)
|
localStatus, mtime, err := server.checkLocal(w, r, fullpath)
|
||||||
|
slog.With("status", localStatus, "mtime", mtime, "error", err).Debug("local status checked")
|
||||||
if os.IsPermission(err) {
|
if os.IsPermission(err) {
|
||||||
http.Error(w, err.Error(), http.StatusForbidden)
|
http.Error(w, err.Error(), http.StatusForbidden)
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
@ -276,7 +277,9 @@ func (server *Server) checkLocal(w http.ResponseWriter, _ *http.Request, key str
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if mtime := stat.ModTime(); mtime.Add(refreshAfter).Before(time.Now()) || refresh == "always" && refresh != "never" {
|
mtime := stat.ModTime()
|
||||||
|
slog.With("policy", refresh, "after", refreshAfter, "mtime", mtime, "key", key).Debug("refresh policy checked")
|
||||||
|
if (mtime.Add(refreshAfter).Before(time.Now()) || refresh == "always") && refresh != "never" {
|
||||||
return localExistsButNeedHead, mtime.In(time.UTC), nil
|
return localExistsButNeedHead, mtime.In(time.UTC), nil
|
||||||
}
|
}
|
||||||
return localExists, mtime.In(time.UTC), nil
|
return localExists, mtime.In(time.UTC), nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user