Optimize cache control header assignment in file server

This commit is contained in:
Svilen Markov 2024-11-30 11:16:07 +00:00
parent b3e73ce86a
commit f68e5ae9ef

View File

@ -147,10 +147,11 @@ func titleToSlug(s string) string {
func fileServerWithCache(fs http.FileSystem, cacheDuration time.Duration) http.Handler { func fileServerWithCache(fs http.FileSystem, cacheDuration time.Duration) http.Handler {
server := http.FileServer(fs) server := http.FileServer(fs)
cacheControlValue := fmt.Sprintf("public, max-age=%d", int(cacheDuration.Seconds()))
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// TODO: fix always setting cache control even if the file doesn't exist // TODO: fix always setting cache control even if the file doesn't exist
w.Header().Set("Cache-Control", fmt.Sprintf("public, max-age=%d", int(cacheDuration.Seconds()))) w.Header().Set("Cache-Control", cacheControlValue)
server.ServeHTTP(w, r) server.ServeHTTP(w, r)
}) })
} }