Pular para o conteúdo

Cookies

Um cookie é um pequeno pedaço de dados que um servidor envia ao navegador, que o navegador armazena e envia de volta em requests subsequentes. Cookies permitem que sites lembrem informações com estado, como carrinho de compras, estado de autenticação ou valores de formulário inseridos anteriormente.

Echo usa o tipo padrão http.Cookie do Go para adicionar e recuperar cookies do echo.Context em um handler.

AtributoOpcional
NameNão
ValueNão
PathSim
DomainSim
ExpiresSim
SecureSim
HttpOnlySim
func writeCookie(c *echo.Context) error {
cookie := new(http.Cookie)
cookie.Name = "username"
cookie.Value = "jon"
cookie.Expires = time.Now().Add(24 * time.Hour)
c.SetCookie(cookie)
return c.String(http.StatusOK, "write a cookie")
}
  • Crie o cookie com new(http.Cookie).
  • Defina atributos nos campos de http.Cookie.
  • Chame c.SetCookie(cookie) para adicionar um header Set-Cookie à response.
func readCookie(c *echo.Context) error {
cookie, err := c.Cookie("username")
if err != nil {
return err
}
fmt.Println(cookie.Name)
fmt.Println(cookie.Value)
return c.String(http.StatusOK, "read a cookie")
}
  • Leia um cookie por nome com c.Cookie("username").
  • Acesse seus atributos por meio dos campos de http.Cookie.
func readAllCookies(c *echo.Context) error {
for _, cookie := range c.Cookies() {
fmt.Println(cookie.Name)
fmt.Println(cookie.Value)
}
return c.String(http.StatusOK, "read all the cookies")
}