diff --git a/backend/utils/http/get.go b/backend/utils/http/get.go index 4cecce116..223a05093 100644 --- a/backend/utils/http/get.go +++ b/backend/utils/http/get.go @@ -2,7 +2,9 @@ package http import ( "context" + "errors" "github.com/1Panel-dev/1Panel/backend/buserr" + "net" "net/http" "strings" "time" @@ -10,8 +12,15 @@ import ( func GetHttpRes(url string) (*http.Response, error) { client := &http.Client{ + Timeout: time.Second * 300, Transport: &http.Transport{ - IdleConnTimeout: 10 * time.Second, + DialContext: (&net.Dialer{ + Timeout: 60 * time.Second, + KeepAlive: 60 * time.Second, + }).DialContext, + TLSHandshakeTimeout: 5 * time.Second, + ResponseHeaderTimeout: 10 * time.Second, + IdleConnTimeout: 15 * time.Second, }, } @@ -22,7 +31,7 @@ func GetHttpRes(url string) (*http.Response, error) { resp, err := client.Do(req) if err != nil { - if err == context.DeadlineExceeded { + if errors.Is(err, context.DeadlineExceeded) { return nil, buserr.WithMap("ErrHttpReqTimeOut", map[string]interface{}{"err": err.Error()}, err) } else { if strings.Contains(err.Error(), "no such host") {