handle fetch rate limits
BSD-2-CLAUSE License
Handle fetch errors and rate limits and caching.
Waits and retry after rate limit rest time has reached.
import { stateActionHandler } from "fetch-rate-limit-util";
const response = await stateActionHandler(someURL, options);
// if rate limit occurs waits and retires
Type: Object
url
string? what to fetch nextrepeatAfter
number? of milliseconds to wait befor next trymessage
string? to reportdone
boolean op is finished returnresponse
Response postprocess
boolean exec postprocessFunction to provide progress report.
Type: Function
url
string to be requestedmethod
string http method namestatus
(string | Error) result of the last requestnthTry
number how often have we retriedExecutes fetch operation and handles response.
options
Object
Returns Promise<Response> from fetch
response
any Returns (number | undefined) msecs to wait
Waits and retries after rate limit reset time has reached.
Returns HandlerResult
Retry timeouts with increasing delay for each retry. Values in msecs.
Try several times with a increasing delay.
Returns HandlerResult
Redirect to given header location.
Returns HandlerResult
Postprocessing if response is ok.
Returns HandlerResult
No postprocessing.
Returns HandlerResult
Provide cached data.
Returns Promise<HandlerResult>
Minimum wait time in msecs.
Type: number
Max # of retries.
Type: number
Default options
With npm do:
npm install fetch-rate-limit-util
BSD-2-Clause