Object

org.http4s.client.middleware

RetryPolicy

Related Doc: package middleware

Permalink

object RetryPolicy

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RetryPolicy
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val RetriableStatuses: Set[Status]

    Permalink

    Statuses that are retriable, per HTTP spec

  5. def apply[F[_]](backoff: (Int) ⇒ Option[FiniteDuration], retriable: (Request[F], Either[Throwable, Response[F]]) ⇒ Boolean = defaultRetriable[F]): RetryPolicy[F]

    Permalink

    Decomposes a retry policy into components that are typically configured individually.

    Decomposes a retry policy into components that are typically configured individually.

    backoff

    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.

    retriable

    determines whether the request is retriable from the request and either the throwable or response that was returned. Defaults to defaultRetriable.

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def defaultRetriable[F[_]](req: Request[F], result: Either[Throwable, Response[F]]): Boolean

    Permalink

    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.

    Caution: if the request body is effectful, the effects will be run twice. The most common symptom of this will be resubmitting an idempotent request.

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def exponentialBackoff(maxWait: Duration, maxRetry: Int): (Int) ⇒ Option[FiniteDuration]

    Permalink
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def recklesslyRetriable[F[_]](result: Either[Throwable, Response[F]]): Boolean

    Permalink

    Like defaultRetriable, but returns true even if the request method is not idempotent.

    Like defaultRetriable, 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.

  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def unsafeRetriable[F[_]](req: Request[F], result: Either[Throwable, Response[F]]): Boolean

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.0) Use defaultRetriable instead

Inherited from AnyRef

Inherited from Any

Ungrouped