0.2.1 • Published 9 months ago
@rosen-bridge/rate-limited-axios v0.2.1
@rosen-bridge/rate-limited-axios
Table of contents
Introduction
A lightweight rate-limiting interceptor for Axios that helps control the number of HTTP requests and prevent API throttling.
Installation
npm:
npm i @rosen-bridge/rate-limited-axiosyarn:
yarn add @rosen-bridge/rate-limited-axiosUsage
To enable global rate-limiting across your application, you should initialize the configuration once at the entry point of your project (e.g., index.ts or bootstrap.ts):
import RateLimitedAxios, { RateLimitedAxiosConfig } from '@rosen-bridge/rate-limited-axios';
RateLimiterAxiosConfig.addRule('^http://google.com/.*$', 10, 30);
RateLimiterAxiosConfig.addRule('^http://yahoo.com/.*$', 10, 30);
RateLimiterAxiosConfig.addRule('^http://bing.com/.*$', 10, 30);
.
.
.
const axiosClient = new RateLimitedAxios();
for (let i = 0; i < 10; i++)
axiosClient.get(url);After this initialization, all packages that import and use @rosen-bridge/rate-limited-axios will respect the configured request limits, ensuring consistent throttling behavior across your entire application.