aboutsummaryrefslogtreecommitdiff
path: root/src/lib/rateLimit.ts
blob: 98e726a2a3a9c14767cab64714bc3269a45ae51c (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;
};