const consumerRateLimitMiddleware = rateLimiter({
windowMs: 15 * 60 * 1000,
limit: (c) => {
const consumer = c.get("consumer") as StoredConsumer | undefined;
console.log("Consumer Rate Limit Middleware", consumer);
return consumer?.rate_limit || 100; // Default to 100 if not set
},
standardHeaders: "draft-6",
keyGenerator: (c) => {
const consumer = c.get("consumer") as StoredConsumer | undefined;
if (consumer) {
return `consumer:${consumer.id}`;
}
const sessionId = getCookie(c, "sessionId") as string;
const connInfo = getConnInfo(c);
return `${sessionId}:${connInfo.remote.address}`;
},
});
const consumerRateLimitMiddleware = rateLimiter({
windowMs: 15 * 60 * 1000,
limit: (c) => {
const consumer = c.get("consumer") as StoredConsumer | undefined;
console.log("Consumer Rate Limit Middleware", consumer);
return consumer?.rate_limit || 100; // Default to 100 if not set
},
standardHeaders: "draft-6",
keyGenerator: (c) => {
const consumer = c.get("consumer") as StoredConsumer | undefined;
if (consumer) {
return `consumer:${consumer.id}`;
}
const sessionId = getCookie(c, "sessionId") as string;
const connInfo = getConnInfo(c);
return `${sessionId}:${connInfo.remote.address}`;
},
});