From: qydysky Date: Tue, 1 Jun 2021 14:21:51 +0000 (+0800) Subject: reqf fix X-Git-Tag: v0.5.19~1 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=4d30ae61965086963544f13442f1c1bd3094c39b;p=part%2F.git reqf fix --- diff --git a/reqf/Reqf.go b/reqf/Reqf.go index 0a215c2..07cdae8 100644 --- a/reqf/Reqf.go +++ b/reqf/Reqf.go @@ -19,6 +19,11 @@ import ( // "encoding/binary" ) +var ( + ConnectTimeoutErr = errors.New(ConnectTimeoutErr) + ReadTimeoutErr = errors.New(ReadTimeoutErr) +) + type Rval struct { Url string PostStr string @@ -73,9 +78,7 @@ func (this *Req) Reqf(val Rval) (error) { var returnErr error _val := val; - - if _val.Timeout==0{_val.Timeout=3000} - + defer func(){ this.idp.Put(this.id) }() @@ -139,7 +142,7 @@ func (this *Req) Reqf_1(val Rval) (err error) { } cx, cancel := context.WithCancel(context.Background()) - if Timeout != -1 { + if Timeout > 0 { cx, _ = context.WithTimeout(cx,time.Duration(Timeout)*time.Millisecond) } req,_ := http.NewRequest(Method, Url, body) @@ -263,7 +266,7 @@ func (this *Req) Reqf_1(val Rval) (err error) { return } case <-After(ConnectTimeout): - err = context.DeadlineExceeded + err = ConnectTimeoutErr return } @@ -284,7 +287,7 @@ func (this *Req) Reqf_1(val Rval) (err error) { break } case <-After(ReadTimeout): - err = context.DeadlineExceeded + err = ReadTimeoutErr loop = false break } @@ -351,7 +354,7 @@ func Cookies_List_2_Map(Cookies []*http.Cookie) (o map[string]string) { } func IsTimeout(e error) bool { - return errors.Is(e, context.DeadlineExceeded) + return errors.Is(e, context.DeadlineExceeded) || errors.Is(e, ConnectTimeoutErr) || errors.Is(e, ReadTimeoutErr) } func IsDnsErr(e error) bool {