diff --git a/snippetbox/cmd/web/handlers.go b/snippetbox/cmd/web/handlers.go index 670579a..0af9a43 100644 --- a/snippetbox/cmd/web/handlers.go +++ b/snippetbox/cmd/web/handlers.go @@ -188,3 +188,11 @@ func (app *application) userLoginPost(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "/", http.StatusSeeOther) } + +// userLoginPost ... +func (app *application) userLogoutPost(w http.ResponseWriter, r *http.Request) { + id := app.sessionManager.PopInt(r.Context(), "authenticatedUserID") + + app.sessionManager.Put(r.Context(), "flash", fmt.Sprintf("LOGGED OUT USER %s! (not really)", id)) + http.Redirect(w, r, "/", http.StatusSeeOther) +} diff --git a/snippetbox/cmd/web/routes.go b/snippetbox/cmd/web/routes.go index fb4574d..849089e 100644 --- a/snippetbox/cmd/web/routes.go +++ b/snippetbox/cmd/web/routes.go @@ -33,6 +33,7 @@ func (app *application) routes() http.Handler { router.Handler(http.MethodPost, "/user/signup", dynamic.ThenFunc(app.userSignupPost)) router.Handler(http.MethodGet, "/user/login", dynamic.ThenFunc(app.userLogin)) router.Handler(http.MethodPost, "/user/login", dynamic.ThenFunc(app.userLoginPost)) + router.Handler(http.MethodPost, "/user/logout", dynamic.ThenFunc(app.userLogoutPost)) standard := alice.New(app.recoverPanic, app.logRequest, secureHeaders)