提交 2fd68744 authored 作者: mooncake9527's avatar mooncake9527

update

上级 f55f1b83
......@@ -173,6 +173,13 @@ func ToGinCtx(ctx context.Context) (*gin.Context, error) {
return nil, ErrorGinContextNotFound
}
func GetGinCtx(ctx context.Context) (*gin.Context, error) {
if c, ok := ctx.Value(GinContextKey).(*gin.Context); ok {
return c, nil
}
return nil, ErrorGinContextNotFound
}
func GetCtxUID(c context.Context) uint {
return getCtxVal[uint](c, KeyUID)
}
......@@ -228,3 +235,10 @@ func GetGinRsp(c *gin.Context) []byte {
}
return nil
}
func SetVal(ctx context.Context, key string, val interface{}) context.Context {
if ginCtx, err := GetGinCtx(ctx); err == nil && ginCtx != nil {
ginCtx.Set(key, val)
}
return context.WithValue(ctx, key, val)
}
......@@ -298,7 +298,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
}
if buf != nil {
requestID := xctx.CtxRequestID(ctx)
ctx = context.WithValue(ctx, fmt.Sprintf("oapi-req-%s", requestID), buf.String())
xctx.SetVal(ctx, fmt.Sprintf("oApiReq-%s", requestID), buf.String())
}
if req.customRequest != nil {
req.customRequest(req.request, buf)
......@@ -342,7 +342,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
return xerror.New(err.Error())
}
bodyBuf := bytes.NewBuffer(body)
ctx = context.WithValue(ctx, fmt.Sprintf("oapi-rsp-%s", xctx.CtxRequestID(ctx)), buf.String())
xctx.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", xctx.CtxRequestID(ctx)), buf.String())
logger.Info("httpcli rsp", logger.Any("body", bodyBuf.String()), xctx.CtxTraceIDField(ctx))
if body != nil {
resp.Body = io.NopCloser(bodyBuf)
......@@ -371,7 +371,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
err = xerror.New(e.Error())
}
bodyBuf := bytes.NewBuffer(body)
ctx = context.WithValue(ctx, fmt.Sprintf("oapi-rsp-%s", xctx.CtxRequestID(ctx)), buf.String())
xctx.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", xctx.CtxRequestID(ctx)), buf.String())
logger.Info("httpcli rsp", logger.Any("body", bodyBuf.String()), xctx.CtxTraceIDField(ctx))
if body != nil {
resp.Body = io.NopCloser(bodyBuf)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论