effect-io-ai

Package: @effect/platform
Module: HttpClient

HttpClient.retryTransient

Retries common transient errors, such as rate limiting, timeouts or network issues.

Specifying a while predicate allows you to consider other errors as transient.

Signature

declare const retryTransient: { <B, E, R1 = never, const Mode extends "errors-only" | "response-only" | "both" = never, Input = "errors-only" extends Mode ? E : "response-only" extends Mode ? ClientResponse.HttpClientResponse : ClientResponse.HttpClientResponse | E>(options: { readonly mode?: Mode | undefined; readonly while?: Predicate.Predicate<NoInfer<E>>; readonly schedule?: Schedule.Schedule<B, NoInfer<Input>, R1>; readonly times?: number; } | Schedule.Schedule<B, NoInfer<Input>, R1>): <R>(self: HttpClient.With<E, R>) => HttpClient.With<E, R1 | R>; <E, R, B, R1 = never, const Mode extends "errors-only" | "response-only" | "both" = never, Input = "errors-only" extends Mode ? E : "response-only" extends Mode ? ClientResponse.HttpClientResponse : ClientResponse.HttpClientResponse | E>(self: HttpClient.With<E, R>, options: { readonly mode?: Mode | undefined; readonly while?: Predicate.Predicate<NoInfer<E>>; readonly schedule?: Schedule.Schedule<B, NoInfer<Input>, R1>; readonly times?: number; } | Schedule.Schedule<B, NoInfer<Input>, R1>): HttpClient.With<E, R1 | R>; }

Source

Since v1.0.0