From ba4857f2d31f9ed1889b4ba70ff6c73a908380b5 Mon Sep 17 00:00:00 2001 From: eatmoreapple <15055461510@163.com> Date: Tue, 24 Aug 2021 15:58:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0NetworkErr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.go | 3 +++ items.go | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/client.go b/client.go index 305394c..02e94b5 100644 --- a/client.go +++ b/client.go @@ -74,6 +74,9 @@ func (c *Client) do(req *http.Request) (*http.Response, error) { hook.BeforeRequest(req) } resp, err := c.Client.Do(req) + if err != nil { + err = NetworkErr{error: err} + } for _, hook := range c.HttpHooks { hook.AfterRequest(resp, err) } diff --git a/items.go b/items.go index e977a9e..9e26f39 100644 --- a/items.go +++ b/items.go @@ -240,3 +240,14 @@ type PushLoginResponse struct { func (p PushLoginResponse) Ok() bool { return p.Ret == "0" && p.UUID != "" } + +type NetworkErr struct{ error } + +func (n NetworkErr) Unwrap() error { + return n.error +} + +func IsNetworkError(err error) bool { + _, ok := err.(NetworkErr) + return ok +}