From ecd5d0c1739c8ff4128a6a9f4ba545149afba250 Mon Sep 17 00:00:00 2001 From: Daniele Tonon Date: Fri, 4 Aug 2023 00:32:22 +0200 Subject: [PATCH] Set Cache-Control only when the data has been correctly fetched --- render.go | 4 +++- render_archive.go | 4 +++- render_relay.go | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/render.go b/render.go index ab74546..ffb4e9f 100644 --- a/render.go +++ b/render.go @@ -317,7 +317,9 @@ func render(w http.ResponseWriter, r *http.Request) { templateMapping[typ] = "other.html" } - w.Header().Set("Cache-Control", "max-age=604800") + if (strings.Contains(typ, "profile") && len(renderableLastNotes) != 0) || (!strings.Contains(typ, "profile") && len(content) != 0) { + w.Header().Set("Cache-Control", "max-age=604800") + } if err := tmpl.ExecuteTemplate(w, templateMapping[typ], params); err != nil { log.Error().Err(err).Msg("error rendering") diff --git a/render_archive.go b/render_archive.go index bd1b30a..47829cd 100644 --- a/render_archive.go +++ b/render_archive.go @@ -64,7 +64,9 @@ func renderArchive(w http.ResponseWriter, r *http.Request) { "prevPage": fmt.Sprint(prevPage), } - w.Header().Set("Cache-Control", "max-age=86400") + if len(data) != 0 { + w.Header().Set("Cache-Control", "max-age=86400") + } if err := tmpl.ExecuteTemplate(w, "archive.html", params); err != nil { log.Error().Err(err).Msg("error rendering") diff --git a/render_relay.go b/render_relay.go index 6bf5d07..6cad810 100644 --- a/render_relay.go +++ b/render_relay.go @@ -72,7 +72,9 @@ func renderRelayPage(w http.ResponseWriter, r *http.Request) { "modifiedAt": lastEventAt.Format("2006-01-02T15:04:05Z07:00"), } - w.Header().Set("Cache-Control", "max-age=604800") + if len(renderableLastNotes) != 0 { + w.Header().Set("Cache-Control", "max-age=604800") + } if err := tmpl.ExecuteTemplate(w, templateMapping[typ], params); err != nil { log.Error().Err(err).Msg("error rendering")