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

httpcli print cost

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