0.2.8 • Published 3 years ago
stubborn-fetch v0.2.8
Stubborn Fetch
Fetch wrapper with built in retry
Installation
npm i --save stubborn-fetchor
yarn add stubborn-fetchUsage
import StubbornFetch from 'stubborn-fetch';
new StubbornFetchRequest('/some/url').send().then(
response => {
// handle standard fetch response
},
error => {
// handle standard fetch error
},
);Parameters
url - Url of the request to be made
string;fetchRequest (optional) - Additional request options
Object = {
method: 'get',
};options (optional) - Additional options
Object = {
timingFunction: 'exponential',
maxDelay: 60000,
debug: false,
retries: 3,
minimumStatusCodeForRetry: 400,
retryOnNetworkFailure: false,
};timingFunction - A function of the (form retryCount : delay in ms) to determine how long to wait between retries.
string = 'exponential';maxDelay - The maximum delay in ms between requests (upper bound on timingFunction)
number;totalRequestTimeLimit (optional) - The time limit across all retries of this request, after which the request will fail.
number;retries - How many times to attempt a request.
number;minimumStatusCodeForRetry - The lowest HTTP status code for which we will retry a request.
number;unretryableStatusCodes - An array of status code numbers for which we will never retry a request, even if it's above the minimumStatusCodeForRetry.
Array<number>;retryOnNetworkFailure - Whether we should retry a request when it fails due to a network issue, i.e. we did not get any response from server.
boolean;maxErrors (optional) - The maximum global error count we will tolerate across ALL requests. After this is hit, NO future requests will be sent.
number;onError - A function that will be called when a request attempt fails.
(error: StubbornFetchError) => voidshouldRetry (optional) - Called for determining whether a retry attempt should occur. Takes precedence over other retry-related options.
(error: StubbornFetchError, retries: number) => boolean;logger (optional) - A class or object conforming to the Logging interface which we'll use for logging out request information and events.
Logging = console;License
MIT