gpt4 book ai didi

http - 获取现有的 gorilla session

转载 作者:IT王子 更新时间:2023-10-29 01:39:49 25 4
gpt4 key购买 nike

我正在尝试设置一个 gorilla session ,然后再次检索该值。我正在做以下测试。

//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 处理程序的片段。但是相关部分已发布,第二次调用 store.Get() 并未返回现有 session ,而是返回一个全新的 session 。因此,当执行此代码所在的处理程序时,日志语句将打印到控制台。

在这种情况下,为什么我得到一个新 session 而不是我已经创建并保存的 session ?

最佳答案

我觉得我已经回答了这个问题。你在滥用这个 pkg。在幕后 context包用于存储请求的状态,通过创建一个新的、不完整的 http.Request,上下文包返回一个没有 session 信息的空状态。

看看这个code看看我在说什么。

关于http - 获取现有的 gorilla session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com