一些优化

This commit is contained in:
Yun
2024-03-23 14:14:13 +08:00
parent ba0e151e3e
commit b8b2ba44c3
+33 -15
View File
@@ -131,26 +131,44 @@ func (c *Curlx) Send(ctx context.Context, p ...Param) (res []byte, httpcode int,
status := response.StatusCode // 获取状态码,正常是200 status := response.StatusCode // 获取状态码,正常是200
var body []byte var body []byte
switch response.Header.Get("Content-Encoding") { // switch response.Header.Get("Content-Encoding") {
case "gzip": // case "gzip":
// reader, err := gzip.NewReader(response.Body)
// if err != nil {
// return nil, status, err
// }
// for {
// buf := make([]byte, 1024)
// n, err := reader.Read(buf)
// if err != nil && err != io.EOF {
// panic(err)
// }
// if n == 0 {
// break
// }
// body = append(body, buf...)
// }
// default:
// body, _ = io.ReadAll(response.Body)
// }
if response.Header.Get("Content-Encoding") == "gzip" {
reader, err := gzip.NewReader(response.Body) reader, err := gzip.NewReader(response.Body)
if err != nil { if err != nil {
return nil, status, err return nil, response.StatusCode, err
} }
for { body, err = io.ReadAll(reader)
buf := make([]byte, 1024) if err != nil {
n, err := reader.Read(buf) return nil, response.StatusCode, err
if err != nil && err != io.EOF { }
panic(err) defer reader.Close()
} } else {
if n == 0 { body, err = io.ReadAll(response.Body)
break if err != nil {
} return nil, response.StatusCode, err
body = append(body, buf...)
} }
default:
body, _ = io.ReadAll(response.Body)
} }
c.opts.Logger.Infof(ctx, "curlx.Send body:%s", string(body)) c.opts.Logger.Infof(ctx, "curlx.Send body:%s", string(body))
return body, status, nil return body, status, nil
} }