Skip to content

Cookies

Zinc uses the standard http.Cookie type.

app.Post("/login", func(c *zinc.Context) error {
c.SetCookie(&http.Cookie{
Name: "session",
Value: token,
Path: "/",
MaxAge: 3600,
HttpOnly: true,
Secure: true,
SameSite: http.SameSiteLaxMode,
})
return c.NoContent()
})
cookie, err := c.Cookie("session")
if errors.Is(err, http.ErrNoCookie) {
return zinc.NewError(zinc.StatusUnauthorized).WithMessage("sign in required")
}
if err != nil {
return err
}

Use c.Cookies() to read all cookies.

c.ClearCookie("session", "preferences")
return c.NoContent()

Zinc’s session, CSRF, JWT, and key-auth middleware also provide cookie-specific configuration and extractors.