Class

RateLimitManager

Constructor

new RateLimitManager()

Properties

buckets: Map<string, RateLimitState> (readonly)
globalResetAt: number
MAX_BUCKETS: (readonly)
size: number (readonly)

Methods

getBucket(route: string): RateLimitState | undefined
ParamTypeDescription
routestring
getGlobalReset(): number
getWaitTime(route: string): number

Ms to wait before sending again (0 if clear).

ParamTypeDescription
routestring
prune(): void
setBucket(route: string, limit: number, remaining: number, resetAt: number): void
ParamTypeDescription
routestring
limitnumber
remainingnumber
resetAtnumber
setGlobalReset(resetAt: number): void
ParamTypeDescription
resetAtnumber
updateFromHeaders(route: string, headers: Headers): void

Apply X-RateLimit-* headers. 429 Retry-After is handled by RequestManager.

ParamTypeDescription
routestring
headersHeaders