feat: 应用商店请求增加超时时间 (#2983)

This commit is contained in:
zhengkunwang 2023-11-17 13:50:08 +08:00 committed by GitHub
parent 7e6c39bb08
commit 824dba2a9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,9 @@ package http
import ( import (
"context" "context"
"errors"
"github.com/1Panel-dev/1Panel/backend/buserr" "github.com/1Panel-dev/1Panel/backend/buserr"
"net"
"net/http" "net/http"
"strings" "strings"
"time" "time"
@ -10,8 +12,15 @@ import (
func GetHttpRes(url string) (*http.Response, error) { func GetHttpRes(url string) (*http.Response, error) {
client := &http.Client{ client := &http.Client{
Timeout: time.Second * 300,
Transport: &http.Transport{ 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) resp, err := client.Do(req)
if err != nil { 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) return nil, buserr.WithMap("ErrHttpReqTimeOut", map[string]interface{}{"err": err.Error()}, err)
} else { } else {
if strings.Contains(err.Error(), "no such host") { if strings.Contains(err.Error(), "no such host") {