From ca83c6cb18c9dd640d30783b67d10d903a4bbed0 Mon Sep 17 00:00:00 2001 From: Zherphy <1123678689@qq.com> Date: Tue, 30 Dec 2025 19:35:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=8F=91=E9=80=81?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=96=B9=E6=B3=95=EF=BC=8C=E5=BD=93=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E8=B6=85=E6=97=B6=E6=97=B6=E5=A4=84=E7=90=86=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=8C=E4=B8=8D=E4=BC=9A=E4=B8=AD=E6=96=AD=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化发送请求方法,当出现超时时处理报错,不会中断服务 --- auth/client.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/auth/client.go b/auth/client.go index aa3edf5..8d4e71c 100644 --- a/auth/client.go +++ b/auth/client.go @@ -1,12 +1,14 @@ package auth import ( + "context" "encoding/json" "errors" "fmt" "io" "net/http" "strings" + "time" "github.com/sirupsen/logrus" ) @@ -16,14 +18,20 @@ type Client struct { // getParsedResponse gets response data from gitee func getParsedResponse(method, path string, header http.Header, body io.Reader, obj interface{}) error { + client := &http.Client{ + Timeout: 30 * time.Second, // 整个请求的最大超时时间 + } req, err := http.NewRequest(method, path, body) if err != nil { panic(err) } req.Header = header - response, err := http.DefaultClient.Do(req) + response, err := client.Do(req) if err != nil { - panic(err) + if errors.Is(err, context.DeadlineExceeded) { + return fmt.Errorf("请求超时: %w", err) + } + return fmt.Errorf("请求执行失败: %w", err) } defer response.Body.Close()