diff --git a/ocis-phoenix/pkg/service/v0/service.go b/ocis-phoenix/pkg/service/v0/service.go index 4bb9942b2c..1f426af338 100644 --- a/ocis-phoenix/pkg/service/v0/service.go +++ b/ocis-phoenix/pkg/service/v0/service.go @@ -146,6 +146,7 @@ func (p Phoenix) Static(ttl int) http.HandlerFunc { // we don't have a last modification date of the static assets, so we use the service start date lastModified := time.Now().UTC().Format(http.TimeFormat) + expires := time.Now().Add(time.Second * time.Duration(ttl)).UTC().Format(http.TimeFormat) return func(w http.ResponseWriter, r *http.Request) { if rootWithSlash != "/" && r.URL.Path == p.config.HTTP.Root { @@ -169,8 +170,8 @@ func (p Phoenix) Static(ttl int) http.HandlerFunc { } w.Header().Set("Cache-Control", fmt.Sprintf("max-age=%s", strconv.Itoa(ttl))) + w.Header().Set("Expires", expires) w.Header().Set("Last-Modified", lastModified) - w.Header().Del("Expires") static.ServeHTTP(w, r) } diff --git a/ocis-pkg/middleware/static.go b/ocis-pkg/middleware/static.go index 57f2e69570..03d61ac0fe 100644 --- a/ocis-pkg/middleware/static.go +++ b/ocis-pkg/middleware/static.go @@ -24,6 +24,7 @@ func Static(root string, fs http.FileSystem, ttl int) func(http.Handler) http.Ha // we don't have a last modification date of the static assets, so we use the service start date lastModified := time.Now().UTC().Format(http.TimeFormat) + expires := time.Now().Add(time.Second * time.Duration(ttl)).UTC().Format(http.TimeFormat) return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -31,8 +32,8 @@ func Static(root string, fs http.FileSystem, ttl int) func(http.Handler) http.Ha next.ServeHTTP(w, r) } else { w.Header().Set("Cache-Control", fmt.Sprintf("max-age=%s", strconv.Itoa(ttl))) + w.Header().Set("Expires", expires) w.Header().Set("Last-Modified", lastModified) - w.Header().Del("Expires") static.ServeHTTP(w, r) } })