fetch-rate-limit-util

4.2.3 • Public • Published

npm License bundlejs downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities Coverage Status

fetch-rate-limit-util

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

API

Table of Contents

HandlerResult

Type: Object

Properties

  • url URL? what to fetch next
  • repeatAfter number? of milliseconds to wait befor next try
  • message string to report
  • done boolean op is finished return
  • response Response
  • postprocess boolean exec postprocess

RequestReporter

Function to provide progress report.

Type: Function

Properties

  • url String to be requested
  • method String http method name
  • status (String | Error) result of the last request
  • nthTry number how often have we retried

wait

Parameters

stateActionHandler

Executes fetch operation and handles response.

Parameters

Returns Promise<Response> from fetch

calculateRepeatAfter

Parameters

  • response any

Returns (number | undefined) msecs to wait

rateLimitHandler

Waits and retries after rate limit reset time has reached.

Parameters

Returns HandlerResult

retryTimes

Retry timeouts with increasing delay for each retry. Values in msecs.

retryHandler

Try several times with a increasing delay.

Parameters

Returns HandlerResult

defaultHandler

Postprocessing if response is ok.

Parameters

Returns HandlerResult

errorHandler

No postprocessing.

Parameters

Returns HandlerResult

cacheHandler

Provide cached data.

Parameters

Returns Promise<HandlerResult>

DEFAULT_MIN_WAIT_MSECS

Minimum wait time in msecs.

Type: number

DEFAULT_MAX_RETRIES

Max # of retries.

Type: number

install

With npm do:

npm install fetch-rate-limit-util

license

BSD-2-Clause

Readme

Keywords

Package Sidebar

Install

npm i fetch-rate-limit-util

Weekly Downloads

566

Version

4.2.3

License

BSD-2-Clause

Unpacked Size

21.8 kB

Total Files

4

Last publish

Collaborators

  • arlac77