@hono-crud/rate-limit
v0.1.11
Published
Rate limiting middleware and storage backends for hono-crud
Downloads
1,813
Maintainers
Readme
@hono-crud/rate-limit
Rate limiting middleware and storage backends for hono-crud.
Install
npm install @hono-crud/rate-limit hono-crud honoUsage
import {
createRateLimitMiddleware,
MemoryRateLimitStorage,
type RateLimitEnv,
} from '@hono-crud/rate-limit';
import { Hono } from 'hono';
import { createStorageMiddleware } from 'hono-crud/storage';
const app = new Hono();
// Wire storage (recommended: per-request injection, edge-safe)
app.use('*', createStorageMiddleware({
rateLimitStorage: new MemoryRateLimitStorage(),
}));
app.use('/api/*', createRateLimitMiddleware<RateLimitEnv>({
limit: 100,
windowSeconds: 60,
}));On a long-lived server, setRateLimitStorage(new MemoryRateLimitStorage()) once at boot is the module-global alternative (resolution priority: explicit config.storage > context > global).
Exports createRateLimitMiddleware, the storage quartet (setRateLimitStorage / getRateLimitStorage / getRateLimitStorageRequired / resolveRateLimitStorage), MemoryRateLimitStorage / RedisRateLimitStorage / KVRateLimitStorage, RateLimitExceededException, and the RateLimitEnv type.
