lightweight-api-rate-limiter
Version:
A robust, framework-agnostic rate limiter for Node.js applications, built for scalability and ease of use
23 lines (19 loc) • 493 B
JavaScript
class Metrics {
constructor() {
this.stats = new Map();
}
recordRequest(key) {
const data = this.stats.get(key) || { requests: 0, blocks: 0 };
data.requests++;
this.stats.set(key, data);
}
recordBlock(key) {
const data = this.stats.get(key) || { requests: 0, blocks: 0 };
data.blocks++;
this.stats.set(key, data);
}
getStats() {
return Object.fromEntries(this.stats);
}
}
module.exports = Metrics;