From e09da8c213b5919e318e822de7f0e6d74e76d05c Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 7 May 2025 23:21:40 -0600 Subject: feat: check if cookie is valid --- app/controllers/sessions/controller.go | 7 ++++++- pkg/web/cookie.go | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/controllers/sessions/controller.go b/app/controllers/sessions/controller.go index 6948473..fdda36d 100644 --- a/app/controllers/sessions/controller.go +++ b/app/controllers/sessions/controller.go @@ -139,10 +139,15 @@ func (c *Controller) Create(w http.ResponseWriter, r *http.Request) { return } - cookie.Write(w, web.NewCookie("session", encoded, + err = web.WriteCookie(w, web.NewCookie("session", encoded, cookie.WithSameSite(http.SameSiteLaxMode), cookie.WithExpiration(tokens.Expiry), )) + if err != nil { + pls.LogError(r.Context(), err) + w.WriteHeader(http.StatusBadRequest) + return + } http.Redirect(w, r, "/dashboard", http.StatusFound) } diff --git a/pkg/web/cookie.go b/pkg/web/cookie.go index 4795f96..bb91c2b 100644 --- a/pkg/web/cookie.go +++ b/pkg/web/cookie.go @@ -71,3 +71,11 @@ func CookieValueFrom(c *http.Cookie) string { return data } + +func WriteCookie(w http.ResponseWriter, c *http.Cookie) error { + if err := c.Valid(); err != nil { + return err + } + cookie.Write(w, c) + return nil +} -- cgit v1.2.3