]> 127.0.0.1 Git - part/.git/commitdiff
1 v0.28.20240721124143
authorqydysky <qydysky@foxmail.com>
Sun, 21 Jul 2024 12:35:46 +0000 (20:35 +0800)
committerqydysky <qydysky@foxmail.com>
Sun, 21 Jul 2024 12:35:46 +0000 (20:35 +0800)
web/Web.go

index 2dd1fc8865ec2f16f03536019697978297ca83a8..2955aed4a916a6f58a571b077339e675e6b612d9 100644 (file)
@@ -694,20 +694,19 @@ func IsMethod(r *http.Request, method ...string) bool {
 
 func NotModified(r *http.Request, w http.ResponseWriter, cuTime time.Time) (notMod bool) {
        modTimeS := cuTime.Format(time.RFC1123)
+       modTimeE := cuTime.Format(time.RFC3339)
 
        w.Header().Add(`Cache-Control`, `private`)
-       w.Header().Add(`ETag`, modTimeS)
+       w.Header().Add(`ETag`, modTimeE)
        w.Header().Add(`Last-Modified`, modTimeS)
 
-       if inm := r.Header.Get(`If-None-Match`); inm == modTimeS {
+       if inm := r.Header.Get(`If-None-Match`); inm == modTimeE {
                w.WriteHeader(http.StatusNotModified)
                return true
        }
-       if ims := r.Header.Get(`If-Modified-Since`); ims != "" {
-               if mod, e := time.Parse(time.RFC1123, ims); e == nil && mod.Equal(cuTime) {
-                       w.WriteHeader(http.StatusNotModified)
-                       return true
-               }
+       if ims := r.Header.Get(`If-Modified-Since`); ims == modTimeS {
+               w.WriteHeader(http.StatusNotModified)
+               return true
        }
        return false
 }