Ai
1 Star 2 Fork 0

Eolink/apinto-dashboard

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
user-context.go 815 Bytes
一键复制 编辑 原始数据 按行查看 历史
陈杰坤 提交于 2022-04-28 11:58 +08:00 . 修改log代码
package apinto_dashboard
import (
"context"
"net/http"
)
type userDetailsKey struct{}
// UserDetailsKey is the request context key under which UserDetails are stored.
var UserDetailsKey = userDetailsKey{}
func UserDetailsFromRequest(req *http.Request) (UserDetails, error) {
value, ok := req.Context().Value(UserDetailsKey).(UserDetails)
if !ok {
return nil, ErrorNotLogin
}
return value, nil
}
func MustUsername(req *http.Request) string {
userInfo, err := UserDetailsFromRequest(req)
if err != nil {
return "unknown"
}
return userInfo.GetUsername()
}
func setUserDetailsToRequest(req *http.Request, details UserDetails) *http.Request {
if details == nil {
return req
}
ctx := req.Context()
ctx = context.WithValue(ctx, UserDetailsKey, details)
req = req.WithContext(ctx)
return req
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/eolink_admin/apinto-dashboard.git
git@gitee.com:eolink_admin/apinto-dashboard.git
eolink_admin
apinto-dashboard
apinto-dashboard
main

搜索帮助