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

update

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