diff --git a/app/app.go b/app/app.go index a969268..13614d1 100644 --- a/app/app.go +++ b/app/app.go @@ -61,10 +61,15 @@ func (a *App) Run() { r := router.NewRouter() r.Use(mlogger.Wrap) - if a.dev { - r.Use(middleware.DevMiddleware) + if a.dev { + logger.Info("RUNNING IN DEVELOPMENT MODE") + + r.Use(middleware.DevMiddleware) r.Handle("/_dev", devPages.Routes()) + + } else { + r.Use(middleware.CacheMiddleware) } r.Handle("/assets/", a.assets) diff --git a/router/middleware/cache.go b/router/middleware/cache.go new file mode 100644 index 0000000..78fe291 --- /dev/null +++ b/router/middleware/cache.go @@ -0,0 +1,12 @@ +package middleware + +import ( + "net/http" +) + +func CacheMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Cache-Control", "max-age=604800, stale-while-revalidate=86400, public") + next.ServeHTTP(w, r) + }) +}