UNPKG

riot-ratelimiter

Version:

A rate limiter handling rate-limits enforced by the riot-games api

41 lines (40 loc) 1.6 kB
import { STRATEGY } from '../RateLimiter'; export declare type RiotRateLimiterConstructorOptions = { strategy?: STRATEGY; debug?: boolean; }; export declare type RiotRateLimiterOptions = { limits: RateLimitOptions[]; strategy: STRATEGY; platformId: string; apiMethod: string; }; import { RateLimit, RATELIMIT_TYPE, RateLimitOptions } from '../RateLimit/index'; export declare class RiotRateLimiter { private limitersPerPlatformId; private strategy; private debug; private appLimits; constructor({strategy, debug}?: RiotRateLimiterConstructorOptions); executing({url, token, resolveWithFullResponse}: { url: any; token: any; resolveWithFullResponse?: boolean; }): Promise<{}>; private executingScheduledCallback(rateLimiter, {url, token, resolveWithFullResponse}); private static extractPlatformIdAndMethodFromUrl(url); static extractRateLimitFromHeader(type: RATELIMIT_TYPE, rateLimitHeader: string): RateLimitOptions[]; static extractRateLimitCountsFromHeader(type: RATELIMIT_TYPE, rateLimitCountHeader: string): RateLimitOptions[]; private static addRequestsCountFromHeader(type, updatedLimits, rateLimitCountHeader); toString(url: string): string; setStrategy(strategy: STRATEGY): void; getLimitsForPlatformId(platformId: string): { [apiMethod: string]: RateLimit[]; }; getLimits(): { [platformId: string]: { [apiMethod: string]: RateLimit[]; }; }; private updateAppRateLimits(updateOptions?); }