2025-07-24 14:41:34 -07:00
|
|
|
// lib/rate-limit.ts
|
|
|
|
|
import { Ratelimit } from "@upstash/ratelimit";
|
|
|
|
|
import { Redis } from "@upstash/redis";
|
|
|
|
|
import { env } from "@/env";
|
|
|
|
|
|
|
|
|
|
const redis = new Redis({
|
|
|
|
|
url: env.UPSTASH_REDIS_REST_URL,
|
|
|
|
|
token: env.UPSTASH_REDIS_REST_TOKEN,
|
|
|
|
|
});
|
|
|
|
|
|
2025-08-02 17:28:01 +02:00
|
|
|
export const baseRateLimit = new Ratelimit({
|
2025-07-24 14:41:34 -07:00
|
|
|
redis,
|
2025-08-02 17:28:01 +02:00
|
|
|
limiter: Ratelimit.slidingWindow(100, "1 m"), // 100 requests per minute
|
2025-07-24 14:41:34 -07:00
|
|
|
analytics: true,
|
2025-08-02 17:28:01 +02:00
|
|
|
prefix: "rate-limit",
|
2025-07-24 14:41:34 -07:00
|
|
|
});
|