diff options
Diffstat (limited to 'internal/handlers/response.go')
| -rw-r--r-- | internal/handlers/response.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/internal/handlers/response.go b/internal/handlers/response.go index 9a7ab45..34d4491 100644 --- a/internal/handlers/response.go +++ b/internal/handlers/response.go @@ -7,9 +7,17 @@ import ( "net/http" ) +// noCacheHeaders sets headers to prevent browser caching +func noCacheHeaders(w http.ResponseWriter) { + w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") + w.Header().Set("Pragma", "no-cache") + w.Header().Set("Expires", "0") +} + // JSONResponse writes data as JSON with appropriate headers func JSONResponse(w http.ResponseWriter, data interface{}) { w.Header().Set("Content-Type", "application/json") + noCacheHeaders(w) _ = json.NewEncoder(w).Encode(data) } @@ -23,6 +31,8 @@ func JSONError(w http.ResponseWriter, status int, msg string, err error) { // HTMLResponse renders an HTML template func HTMLResponse(w http.ResponseWriter, tmpl *template.Template, name string, data interface{}) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + noCacheHeaders(w) if err := tmpl.ExecuteTemplate(w, name, data); err != nil { http.Error(w, "Failed to render template", http.StatusInternalServerError) log.Printf("Error rendering template %s: %v", name, err) |
