再帰処理をしてリトライする。
リトライ数が増えるたびに10秒タイムアウトを伸ばす
main.go
func HttpGet(url string, reTry int) *http.Response,error {
client := &http.Client{Timeout: time.Duration(10*(10-reTry)) * time.Second}
resp, err := client.Get(url)
if err != nil {
if reTry == 0 {
return nil,error
}
return HttpGet(url, reTry-1)
}
}
PS.再帰処理ってほとんど有用性無いような気がするのは俺だけ?