package middleware import ( "net/http" "net/url" "wyo.town/netzah/session" ) func RequireAuth(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if !session.Manager.Exists(r.Context(), "user") { nextURL := url.QueryEscape(r.URL.RequestURI()) http.Redirect(w, r, "/login?next="+nextURL, http.StatusFound) return } next.ServeHTTP(w, r) }) }