in exponential/helpers/http/http.go [108:132]
func (t *Transformer) RespToErr(r *http.Response, err error) (*http.Response, error) {
if len(t.respToErrs) == 0 {
return r, err
}
if err != nil {
return r, err
}
var retErr error
for _, respToErr := range t.respToErrs {
wasPermanent := false
if err = respToErr(r); err != nil {
wasPermanent = errors.Is(err, errors.ErrPermanent)
if retErr == nil {
retErr = err
} else {
retErr = fmt.Errorf("%w: %w", retErr, err)
}
if wasPermanent {
break
}
}
}
return r, retErr
}