func()

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
}