以前使用していた PHP からセッションを取得します
<?php
session_start();
$_SESSION["key"] = "val";
echo $_SESSION["key"];
?>
1 つ以上のキーとその値をサーバー側で設定し、セッションが期限切れになるまで取得または上書きできるようにします。
ゴリラ/セッションと同じ
var(
sessionStore *sessions.CookieStore
sessionSecret []byte = make([]byte, 64)
session *sessions.Session
)
func init(){
sessionSecret = []byte("12345678901234567890123456789012")
sessionStore = sessions.NewCookieStore(sessionSecret)
session = sessions.NewSession(sessionStore, "session_name")
}
func SetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
session.Values["key"] = "val"
session.Save(r, w)
}
func GetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
fmt.FPrintln(session.Values["key"])
}
今、ゴリラ/コンテキストのポイントがわかりません。コンテキストが何であるかは知っていますが... 全体像にどのように適合するかはわかりません。現在のリクエストにバインドされていることを示しています。ここでのスタックオーバーフローに関する別の質問では、ハンドラーごとのミドルウェアの記述のコンテキストで「ゴリラ/コンテキストを使用するだけで十分だ」と述べています。
しかし、それがリクエストバウンドの場合...エラー..構文エラーであり、計算されません。アヒルが水に浮かぶ場合、魔女は木でできています。また、アヒルも水に浮くので、アヒルと同じ体重なら魔女に違いありません。またはそのようなもの;)
そして、これがリクエストにバインドされている場合、ミドルウェアの「マネージャー」としてどのように役立つのでしょうか。グローバルに設定することはできません。ゴリラ/セッションをゴリラ/コンテキストで使用する方法の例を示していただけますか?