1.4.0 • Published 1 year ago

axios-rate-limit v1.4.0

Weekly downloads
19,847
License
MIT
Repository
github
Last release
1 year ago

axios-rate-limit

npm version npm downloads npm bundle size build status code coverage install size known vulnerabilities

A rate limit for Axios: set how many requests per interval should perform immediately, other will be delayed automatically.

Installing

npm install axios-rate-limit

Usage

import axios from 'axios';
import rateLimit from 'axios-rate-limit';

// sets max 2 requests per 1 second, other will be delayed
// note maxRPS is a shorthand for perMilliseconds: 1000, and it takes precedence
// if specified both with maxRequests and perMilliseconds
const http = rateLimit(axios.create(), { maxRequests: 2, perMilliseconds: 1000, maxRPS: 2 })
http.getMaxRPS() // 2
http.get('https://example.com/api/v1/users.json?page=1') // will perform immediately
http.get('https://example.com/api/v1/users.json?page=2') // will perform immediately
http.get('https://example.com/api/v1/users.json?page=3') // will perform after 1 second from the first one

// options hot-reloading also available
http.setMaxRPS(3)
http.getMaxRPS() // 3
http.setRateLimitOptions({ maxRequests: 6, perMilliseconds: 150 }) // same options as constructor

Alternatives

Consider using Axios built-in rate-limiting functionality.

@musicplayce/sdkcall-of-duty-api-es6@infinitebrahmanuniverse/nolb-axi@media-fetch-project/animecharactersdatabase-source@media-fetch-project/dev-lib@media-fetch-project/mangadex-source@everything-registry/sub-chunk-1196dr-snap-in-utilstest-dusame-plugin-brightpearlstoryblokerstoryblok-nextjs-bolerplate-clistoryblok-nextjs-helpers-componentsidentify-media-react-dropigdb-tsinaturalitshomebridge-daikin-local-platformhomebridge-bond-searlsgvm-cexiobroker.homeconnectinfinity-sdkmarvel-tsmedusa-plugin-brightpearlmarket-csgo@xilonz/lando-kinsta@ts4/api@throttleup/gatsby-source-wordpress@upvest/api-tests@uxstorm_sincronia/core@vitorsss/postman-cli@use-pico/commonabyss_monitor_coreallincex@easylayer/core@edesofthub/apis@edesofthub1/apis@code.store/arcxp-sdk-tstmdb-info-reacttooter@burro/get@bolt-app/gatsby-source-wordpress-experimental@boundlessdigital/meraki-sdkyookassa-sdkwebwalker-xts4dev@lleewwiiss/safe-cex@ldhertert/harness-cli@lpgroup/feathers-utils@lexiang/mystique-sharedmkto-managerminervaai-sdkosm2pdfoparl-sdkone-cexrosiebotsec-data-fetchersafe-cexnode-red-contrib-shellynode-twstocknodesubpgx-sdkreconcilergacchatfuel-broadcastcem-quasarclicksign-librarycsv-fetchdcinside-crawlerbling-erp-api-with-rate-limitbeamercola-gatsby-source-workablebitcoin-tx-proofdingdingbotfnapicomgathercontent.jsgatsby-source-wordpressgatsby-source-wordpress-experimental@shapeshiftoss/market-service@tealstreet/safe-cexecloud-vtex-connectorecloud-base-connectorecloud-etendo-connectorecloud-golfclub-connectorecloud-holded-connectorecloud-magento-connectorexcexfinviz-screener@rixw/strapi-client@robotevents/client@miaz/poisun@jorsek/content-portal-configs@jorsek/ezd-client@ronmu/axios@rosen-chains/doge-blockcypher@rosen-chains/doge-rpc@magecom/gatsby-source-wordpress-experimental-fork-media-items-fix@marshallofsound/call-of-duty-api@danny-jin/fetch-nft@exode-team/yokassa.api@fck-foundation/ton@feedzai/repo-analyzer@inspex/poctous
1.3.3

1 year ago

1.3.2

1 year ago

1.4.0

1 year ago

1.3.1

1 year ago

1.3.0

5 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.4

6 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago