Statuses that are retriable, per HTTP spec
Decomposes a retry policy into components that are typically configured individually.
Decomposes a retry policy into components that are typically configured individually.
a function of attempts to an optional
FiniteDuration. Return None to stop retrying, or some
duration after which the request will be retried. See
exponentialBackoff
for a useful implementation.
determines whether the request is retriable
from the request and either the throwable or response that was
returned. Defaults to defaultRetriable
.
Default logic for whether a request is retriable.
Default logic for whether a request is retriable. Returns true if
the request method does not permit a body and the result is
either a throwable or has one of the RetriableStatuses
.
Caution: more restrictive than 0.16. That would inspect the body for effects, and resumbmit only if the body was pure (i.e., only emits and halts). The fs2 algebra does not let us inspect the stream for effects, so we can't safely resubmit. For the old behavior, use unsafeRetriable. To ignore the response codes, see recklesslyRetriable.
Like unsafeRetriable, but returns true even if the request method is not idempotent.
Like unsafeRetriable, but returns true even if the request method is not idempotent. This is useful if failed requests are assumed to have not reached their destination, which is a dangerous assumption. Use at your own risk.
Caution: if the request body is effectful, the effects will be run twice. The most common symptom of this will be resubmitting an empty request body.
Returns true if the request method is idempotent and the result is
either a throwable or has one of the RetriableStatuses
.
Returns true if the request method is idempotent and the result is
either a throwable or has one of the RetriableStatuses
. This is
the defaultRetriable
behavior from 0.16.
Caution: if the request body is effectful, the effects will be run twice. The most common symptom of this will be resubmitting an empty request body.