ゴリラセッションを設定してから、値を再度取得しようとしています。私はちょうどテストとして次のことをしています。
//create session and store in http Cookies
session, err := store.Get(req, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
}
//save a value
session.Values["user_id"] = userTuple.UserId
err = session.Save(req, w)
if err != nil {
errCode = http.StatusInternalServerError
return
}
//try to get the same session that was just created
nr := http.Request{Header: w.Header()}
session, err = store.Get(&nr, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
} else if session.IsNew {
log.Println("New session created instead of old one.")
}
これは、より大きな HTTP ハンドラーの抜粋です。しかし、関連する部分が投稿され、2 番目の呼び出しstore.Get()は既存のセッションではなく、新しいセッションを返します。したがって、このコードが含まれるハンドラが実行されると、ログ ステートメントがコンソールに出力されます。
この場合、すでに作成して保存したセッションではなく、新しいセッションを取得するのはなぜですか?