RetryInterceptorSpec

A spec for configuring an Interceptor that retries requests based on the specified retry conditions.

See RetryInterceptor.Builder.

Functions

Link copied to clipboard
abstract fun backoff(backoffStrategy: BackoffStrategy)
Link copied to clipboard
abstract fun beginWith(requestModifier: (<Error class: unknown class>) -> <Error class: unknown class>)
Link copied to clipboard
abstract fun listener(listener: RetryListener)
open fun listener(block: RetryListenerSpec.() -> Unit): <Error class: unknown class>
Link copied to clipboard
abstract fun maxRetries(maxRetries: Int)
Link copied to clipboard
abstract fun on(predicate: (RetryContext<*>) -> Boolean, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
Link copied to clipboard
abstract fun onException(vararg exceptionTypes: KClass<out Throwable>)
abstract fun onException(exceptionPredicate: (Throwable) -> Boolean)
abstract fun onException(exceptionPredicate: (Throwable) -> Boolean, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
abstract fun onException(exceptionTypes: Set<KClass<out Throwable>>, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
Link copied to clipboard
@JvmName(name = "reifiedOnException1")
inline fun <T : Throwable> RetryInterceptorSpec.onException(noinline requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() }): <Error class: unknown class>

Retries when an exception of type T is thrown. Equivalent to onException(setOf(T::class), requestModifier).

Link copied to clipboard
abstract fun onlyIf(block: (<Error class: unknown class>) -> Boolean)
Link copied to clipboard
abstract fun onResponse(responsePredicate: (<Error class: unknown class><T>) -> Boolean, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
Link copied to clipboard
abstract fun onStatus(vararg codes: Int)
abstract fun onStatus(statusPredicate: (Int) -> Boolean, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
abstract fun onStatus(codes: Set<Int>, requestModifier: RetryContext<*>.() -> <Error class: unknown class> = { request() })
Link copied to clipboard
abstract fun throwOnExhaustion()
Link copied to clipboard
abstract fun timeout(timeout: Duration)