Developer Docs
API Reference
Services
Rate Limit Service
Classes
Class: RateLimitService

web


web / lib/services/rate-limit-service / RateLimitService

Class: RateLimitService

Constructors

Constructor

new RateLimitService(payload): RateLimitService

Parameters

payload

BasePayload

Returns

RateLimitService

Methods

destroy()

destroy(): void

Cleanup method to clear interval and cache

Returns

void


checkRateLimit()

checkRateLimit(identifier, limit, windowMs): object

Check if a request should be rate limited

Parameters

identifier

string

IP address or session ID

limit

number = 10

Maximum requests allowed

windowMs

number = ...

Time window in milliseconds

Returns

object

Object containing rate limit status

allowed

allowed: boolean

remaining

remaining: number

resetTime

resetTime: number

blocked

blocked: boolean


getRateLimitStatus()

getRateLimitStatus(identifier): null | { count: number; resetTime: number; blocked: boolean; }

Get current rate limit status without incrementing

Parameters

identifier

string

Returns

null | { count: number; resetTime: number; blocked: boolean; }


resetRateLimit()

resetRateLimit(identifier): void

Reset rate limit for an identifier

Parameters

identifier

string

Returns

void


blockIdentifier()

blockIdentifier(identifier, durationMs): void

Block an identifier immediately

Parameters

identifier

string

durationMs

number = ...

Returns

void


getRateLimitHeaders()

getRateLimitHeaders(identifier, limit): Record<string, string>

Get rate limit headers for HTTP responses

Parameters

identifier

string

limit

number

Returns

Record<string, string>


getStatistics()

getStatistics(): object

Get statistics about current rate limits

Returns

object

totalEntries

totalEntries: number

blockedEntries

blockedEntries: number

activeEntries

activeEntries: number