UNPKG

sveltekit-rate-limiter

Version:

A modular rate limiter for SvelteKit. Use in password resets, account registration, etc.

21 lines (20 loc) 527 B
export class CloudflareIPRateLimiter { rate; constructor(rate) { this.rate = rate; } async hash(event) { return (event.request.headers.get('cf-connecting-ip') || event.getClientAddress()); } } export class CloudflareIPUARateLimiter extends CloudflareIPRateLimiter { constructor(rate) { super(rate); } async hash(event) { const ua = event.request.headers.get('user-agent'); if (!ua) return false; return super.hash(event) + ua; } }