Я использую гориллу / сессию в игрушечном приложении, и я хочу использовать FilesystemStore, но если для хранилища установить для параметра MaxAge
значение 0, при попытке сохранить сеанс он удаляется, но еслисеанс новый, у него нет идентификатора:
sess, err := s.store.Get(r, "session-name")
if err != nil {
log.Printf("error getting session %v", err)
http.Error(w, "session", http.StatusInternalServerError)
return
}
sess.Values["name"] = r.FormValue("name")
if err = sess.Save(r, w); err != nil {
log.Printf("error saving session %v", err)
http.Error(w, "saving", http.StatusInternalServerError)
return
}
http.Redirect(w, r, "/view", http.StatusFound)
И ошибка, которую я получаю:
2019/10/15 09:22:03 error saving session remove sessions\session_: The system cannot find the file specified.
Глядя на код Gorilla, кажется, что код Gorilla пытаетсяудалить сессию из хранилища, прежде чем определить, имеет ли сессия идентификатор.
У меня проблема с Gorilla или с тем, как я ее использую?
Все отлично работает, когда не настроеноMaxAge
до 0
, но тогда мне придется самому управлять файлами cookie.