aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorJason Cameron <jasoncameron.all@gmail.com>2025-03-29 21:15:50 -0400
committerGitHub <noreply@github.com>2025-03-29 21:15:50 -0400
commit3683f95933653b04d9f4f900cccfb5adc59eb9ac (patch)
tree12f49f6c7dabb97f5c1566029e85b5de576689ff /internal
parent168329fff02bd86af1ef7eb2728b772fb9535478 (diff)
downloadanubis-3683f95933653b04d9f4f900cccfb5adc59eb9ac.tar.xz
anubis-3683f95933653b04d9f4f900cccfb5adc59eb9ac.zip
Add middleware to set Cache-Control header for challenge HTML (#132)
* Add middleware to set Cache-Control header for challenge HTML * Add `NoStoreCache` middleware function in `internal/headers.go` to set Cache-Control: no-store header * Apply `NoStoreCache` middleware in `cmd/anubis/main.go` to set Cache-Control header for challenge HTML * docs: Add no-cache header information for challenge page * docs: Update changelog to reflect no-store Cache-Control header addition for challenge page * refactor: rename variable for clarity and update caching middleware in RenderIndex * chore: move changes to the unreleased section Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> Signed-off-by: Jason Cameron <git@jasoncameron.dev>
Diffstat (limited to 'internal')
-rw-r--r--internal/headers.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/headers.go b/internal/headers.go
index a48ce54..5c6a218 100644
--- a/internal/headers.go
+++ b/internal/headers.go
@@ -64,6 +64,15 @@ func XForwardedForToXRealIP(next http.Handler) http.Handler {
})
}
+// NoStoreCache sets the Cache-Control header to no-store for the response.
+func NoStoreCache(next http.Handler) http.Handler {
+ return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ w.Header().Set("Cache-Control", "no-store")
+ next.ServeHTTP(w, r)
+ })
+}
+
+
// Do not allow browsing directory listings in paths that end with /
func NoBrowsing(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {