添加请求重试机制 (#117)

This commit is contained in:
多吃点苹果 2022-10-21 18:23:51 +08:00 committed by GitHub
parent 9b1bc9189b
commit d2a2ffc119
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -71,11 +71,22 @@ func (c *Client) AddHttpHook(hooks ...HttpHook) {
c.HttpHooks = append(c.HttpHooks, hooks...)
}
const maxRetry = 2
func (c *Client) do(req *http.Request) (*http.Response, error) {
for _, hook := range c.HttpHooks {
hook.BeforeRequest(req)
}
resp, err := c.Client.Do(req)
var (
resp *http.Response
err error
)
for i := 0; i < maxRetry; i++ {
resp, err = c.Client.Do(req)
if err == nil {
break
}
}
if err != nil {
err = ErrorWrapper(NetworkErr, err.Error())
}