aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Error/rateLimit.ts
blob: 636bdd5da01738a99c9cef5f5a2177c71f099094 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
import type { RequestEvent } from "@sveltejs/kit";
import { RateLimiter } from "sveltekit-rate-limiter/server";

export const checkRateLimit = async (event: RequestEvent) => {
	const limiter = new RateLimiter({ rates: { IP: [5, "s"] } });

	await limiter.cookieLimiter?.preflight(event);

	if (await limiter.isLimited(event)) return new Response("rate-limited");

	return null;
};