arlac77 / fetch-rate-limit-util

handle fetch rate limits

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm License Open Bundle 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(fetch, someURL);

API

Table of Contents

HandlerResult

Type: Object

Properties

  • url URL? what to fetch next
  • number repeatAfter? 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

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 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

About

handle fetch rate limits

License:BSD 2-Clause "Simplified" License


Languages

Language:JavaScript 100.0%