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

httpcli print cost

上级 783de9ef
...@@ -20,10 +20,9 @@ type Config struct { ...@@ -20,10 +20,9 @@ type Config struct {
} }
func GenerateVerificationCode(length int) (string, error) { func GenerateVerificationCode(length int) (string, error) {
max := big.NewInt(10)
code := "" code := ""
for i := 0; i < length; i++ { for i := 0; i < length; i++ {
num, err := rand.Int(rand.Reader, max) num, err := rand.Int(rand.Reader, big.NewInt(10))
if err != nil { if err != nil {
return "", err return "", err
} }
......
...@@ -291,21 +291,23 @@ func (x *Request) send(ctx context.Context) { ...@@ -291,21 +291,23 @@ func (x *Request) send(ctx context.Context) {
} }
func (x *Request) pushDo(ctx context.Context) { func (x *Request) pushDo(ctx context.Context) {
st := time.Now()
client := http.Client{Timeout: x.timeout} client := http.Client{Timeout: x.timeout}
var response *http.Response var rsp *http.Response
response, x.err = client.Do(x.request) rsp, x.err = client.Do(x.request)
logger.Info("[httpCli]", logger.Int64("cost", time.Since(st).Milliseconds()), ctxUtils.CtxTraceIDField(ctx))
if x.err != nil { if x.err != nil {
x.request = nil x.request = nil
return return
} }
if response != nil { if rsp != nil {
x.response.Status = response.Status x.response.Status = rsp.Status
x.response.Header = response.Header x.response.Header = rsp.Header
x.response.StatusCode = response.StatusCode x.response.StatusCode = rsp.StatusCode
ctxUtils.SetApiCost(ctx, x.response.Header) ctxUtils.SetApiCost(ctx, x.response.Header)
if response.Body != nil { if rsp.Body != nil {
defer response.Body.Close() defer rsp.Body.Close()
x.response.body, x.err = io.ReadAll(response.Body) x.response.body, x.err = io.ReadAll(rsp.Body)
if x.err != nil { if x.err != nil {
x.request = nil x.request = nil
return return
...@@ -331,7 +333,7 @@ func (x *Request) RespBodyString() string { ...@@ -331,7 +333,7 @@ func (x *Request) RespBodyString() string {
if len(x.response.body) == 0 { if len(x.response.body) == 0 {
return "" return ""
} }
return string(x.response.body) return bytes.NewBuffer(x.response.body).String()
} }
func (x *Request) Response() *Response { func (x *Request) Response() *Response {
return x.response return x.response
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论