From 87f53c989562ad8414698d5212c11806dcb45d9b Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Tue, 1 Jan 2019 13:31:01 -0800 Subject: [PATCH] Age Gate: Allow single-page exceptions with ?over18=1 --- src/middleware/age-gate.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/middleware/age-gate.go b/src/middleware/age-gate.go index db4c3ba..0c665f6 100644 --- a/src/middleware/age-gate.go +++ b/src/middleware/age-gate.go @@ -4,9 +4,9 @@ import ( "net/http" "strings" + "github.com/kirsle/blog/models/settings" "github.com/kirsle/blog/src/responses" "github.com/kirsle/blog/src/sessions" - "github.com/kirsle/blog/models/settings" "github.com/urfave/negroni" ) @@ -48,8 +48,11 @@ func AgeGate(verifyHandler func(http.ResponseWriter, *http.Request)) negroni.Han session := sessions.Get(r) if val, _ := session.Values["age-ok"].(bool); !val { // They haven't been verified. - responses.Redirect(w, "/age-verify?next="+r.URL.Path) - return + // Allow single-page loads with ?over18=1 in query parameter. + if r.FormValue("over18") == "" { + responses.Redirect(w, "/age-verify?next="+r.URL.Path) + return + } } next(w, r)