← All packages

@lacspace/rate-limit

v1.1.3Security Kit0 deps

Framework-agnostic rate limiting — fixed-window, sliding-window and token-bucket over a pluggable store, with standard RateLimit-* headers. For API routes, middleware and edge. Zero-dependency, isomorphic.

npm i @lacspace/rate-limit

Usage

rate-limit.ts
import { rateLimit } from "@lacspace/rate-limit";

const limiter = rateLimit({ limit: 10, windowMs: 60_000, algorithm: "sliding" });

const { success, remaining, retryAfter } = await limiter.check(ip);
if (!success) throw new Error(`Rate limited. Retry in ${retryAfter}s`);

Exports 9

MemoryStoreRateLimitercheckRequestexpressRateLimitipKeyFromRequestrateLimitrateLimitHeadersrateLimitResponsewithRateLimit

Keywords

rate-limitrate-limiterthrottletoken-bucketsliding-windowmiddleware

More in Security Kit