package cookie import ( "errors" "net/http" "time" "git.1248.nz/1248/Otfe/misc/b64" ) func Create(w http.ResponseWriter, name string, value string) { c := &http.Cookie{Name: name, Value: b64.Encode(value)} http.SetCookie(w, c) } func Read(r *http.Request, name string) (string, error) { c, err := r.Cookie(name) if err != nil { return "", errors.New("Cookie not found") } value, err := b64.Decode(c.Value) if err != nil { return "", errors.New("Failed to decode cookie") } return value, nil } func Delete(w http.ResponseWriter, name string) { http.SetCookie(w, &http.Cookie{Name: name, MaxAge: -1, Expires: time.Unix(1, 0)}) }