phantomauth
Version:
An authentication library with built-in security features, designed for fast and boilerplate-free backend development. Ideal for quickly building MVPs with a reasonable level of security. Not intended for high-risk or enterprise level use.
15 lines (14 loc) • 413 B
JavaScript
import { logger } from "../utils/logger.js";
export const rateLimiter = (limiter) => {
return async (req, res, next) => {
try {
await limiter.consume(req.ip, 1);
next();
} catch (err) {
logger.warn(`Exceeded rate limits for IP: ${req.ip}`);
const error = new Error('Too many requests, try again later');
error.statusCode = 429;
next(error);
}
}
}