提交 d316ccc8 authored 作者: mooncake9527's avatar mooncake9527

http cli

上级 ce9025b4
...@@ -255,7 +255,7 @@ func (req *Request) push(ctx context.Context) (*Response, error) { ...@@ -255,7 +255,7 @@ func (req *Request) push(ctx context.Context) (*Response, error) {
buf = bytes.NewBufferString(req.body) buf = bytes.NewBufferString(req.body)
} }
logger.Info("httpcli req", logger.String("body", buf.String()), ctxUtils.CtxTraceIDField(ctx)) logger.Info("httpCli req", logger.String("body", buf.String()), ctxUtils.CtxTraceIDField(ctx))
return req.send(ctx, buf, buf) return req.send(ctx, buf, buf)
} }
...@@ -291,7 +291,6 @@ func getRequestBody(buf *bytes.Buffer, maxLen int) []byte { ...@@ -291,7 +291,6 @@ func getRequestBody(buf *bytes.Buffer, maxLen int) []byte {
} }
func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) (*Response, error) { func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) (*Response, error) {
logger.Info("httpcli req", logger.String("url", req.url), ctxUtils.CtxTraceIDField(ctx))
req.request, req.err = http.NewRequest(req.method, req.url, body) req.request, req.err = http.NewRequest(req.method, req.url, body)
if req.err != nil { if req.err != nil {
return nil, req.err return nil, req.err
...@@ -303,23 +302,19 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) ...@@ -303,23 +302,19 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
if req.customRequest != nil { if req.customRequest != nil {
req.customRequest(req.request, buf) req.customRequest(req.request, buf)
} }
if req.headers != nil { if req.headers != nil {
for k, v := range req.headers { for k, v := range req.headers {
req.request.Header.Add(k, v) req.request.Header.Add(k, v)
} }
} }
logger.Info("httpCli req", logger.Any("url", req.url), logger.Any("header", req.request.Header), logger.Any("body", buf.String()), ctxUtils.CtxTraceIDField(ctx))
req.request.Header.Add(ctxUtils.HeaderXRequestIDKey, ctxUtils.CtxRequestID(ctx)) req.request.Header.Add(ctxUtils.HeaderXRequestIDKey, ctxUtils.CtxRequestID(ctx))
if req.timeout < 1 { if req.timeout < 1 {
req.timeout = defaultTimeout req.timeout = defaultTimeout
} }
client := http.Client{Timeout: req.timeout} client := http.Client{Timeout: req.timeout}
resp := new(Response) resp := new(Response)
resp.Header = make(http.Header) resp.Header = make(http.Header)
ctx, cancel := context.WithTimeout(ctx, time.Second*20) ctx, cancel := context.WithTimeout(ctx, time.Second*20)
defer cancel() defer cancel()
var err error var err error
...@@ -327,7 +322,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) ...@@ -327,7 +322,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
err = retry.Retry(func() error { err = retry.Retry(func() error {
response, err := client.Do(req.request) response, err := client.Do(req.request)
if err != nil { if err != nil {
logger.Info("httpcli fail", logger.Any("err", err), ctxUtils.CtxTraceIDField(ctx)) logger.Info("httpCli fail", logger.Any("err", err), ctxUtils.CtxTraceIDField(ctx))
return xerror.Wrap(err, "client do") return xerror.Wrap(err, "client do")
} }
if response != nil { if response != nil {
...@@ -342,8 +337,8 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) ...@@ -342,8 +337,8 @@ 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)
logger.Info("httpCli rsp", logger.Any("header", resp.Header), logger.Any("body", bodyBuf.String()), ctxUtils.CtxTraceIDField(ctx))
ctxUtils.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", ctxUtils.CtxRequestID(ctx)), bodyBuf.Bytes()) ctxUtils.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", ctxUtils.CtxRequestID(ctx)), bodyBuf.Bytes())
logger.Info("httpcli rsp", logger.Any("body", bodyBuf.String()), ctxUtils.CtxTraceIDField(ctx))
if body != nil { if body != nil {
resp.Body = io.NopCloser(bodyBuf) resp.Body = io.NopCloser(bodyBuf)
} }
...@@ -380,8 +375,8 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) ...@@ -380,8 +375,8 @@ 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)
logger.Info("httpCli rsp", logger.Any("header", resp.Header), logger.Any("body", bodyBuf.String()), ctxUtils.CtxTraceIDField(ctx))
ctxUtils.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", ctxUtils.CtxRequestID(ctx)), bodyBuf.Bytes()) ctxUtils.SetVal(ctx, fmt.Sprintf("oApiRsp-%s", ctxUtils.CtxRequestID(ctx)), bodyBuf.Bytes())
logger.Info("httpcli rsp", logger.Any("body", bodyBuf.String()), ctxUtils.CtxTraceIDField(ctx))
if body != nil { if body != nil {
resp.Body = io.NopCloser(bodyBuf) resp.Body = io.NopCloser(bodyBuf)
} }
...@@ -389,7 +384,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer) ...@@ -389,7 +384,7 @@ func (req *Request) send(ctx context.Context, body io.Reader, buf *bytes.Buffer)
} }
if err != nil { if err != nil {
logger.Error("httpcli fail", logger.Any("err", err), ctxUtils.CtxTraceIDField(ctx)) logger.Error("httpCli fail", logger.Any("err", err), ctxUtils.CtxTraceIDField(ctx))
} }
req.response = resp req.response = resp
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论