1 Star 0 Fork 0

铁匠/luchen

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
request_context.go 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
铁匠 提交于 2024-03-17 00:05 . context记录开始时间
package luchen
import (
"context"
"time"
)
type (
requestEndpointCtxKey struct{}
protocolCtxKey struct{}
methodCtxKey struct{}
requestStartTimeCtxKey struct{}
)
// RequestEndpoint 请求端点
func RequestEndpoint(ctx context.Context) string {
val, ok := ctx.Value(requestEndpointCtxKey{}).(string)
if !ok {
return ""
}
return val
}
func withRequestEndpoint(ctx context.Context, action string) context.Context {
return context.WithValue(ctx, requestEndpointCtxKey{}, action)
}
// RequestProtocol 请求协议
func RequestProtocol(ctx context.Context) string {
val, ok := ctx.Value(protocolCtxKey{}).(string)
if !ok {
return ""
}
return val
}
func withRequestProtocol(ctx context.Context, protocol string) context.Context {
return context.WithValue(ctx, protocolCtxKey{}, protocol)
}
// RequestMethod 请求方法
func RequestMethod(ctx context.Context) string {
val, ok := ctx.Value(methodCtxKey{}).(string)
if !ok {
return ""
}
return val
}
func withMethod(ctx context.Context, method string) context.Context {
return context.WithValue(ctx, methodCtxKey{}, method)
}
// RequestStartTime 请求开始时间
func RequestStartTime(ctx context.Context) time.Time {
return ctx.Value(requestStartTimeCtxKey{}).(time.Time)
}
func withRequestStartTime(ctx context.Context, t time.Time) context.Context {
return context.WithValue(ctx, requestStartTimeCtxKey{}, t)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fengjx/luchen.git
git@gitee.com:fengjx/luchen.git
fengjx
luchen
luchen
master

搜索帮助