dt-common-device
Version:
A secure and robust device management library for IoT applications
11 lines (10 loc) • 703 B
TypeScript
import { IRateLimitConfig } from "../interfaces";
export declare class RateLimitUtils {
private static readonly redisClient;
static checkRateLimit(connectionId: string, provider: string, rateLimitConfigs: Map<string, IRateLimitConfig>): Promise<boolean>;
static initializeRateLimitConfigs(): Map<string, IRateLimitConfig>;
static isRateLimitAllowed(connectionId: string, provider: string, rateLimitConfigs: Map<string, IRateLimitConfig>): Promise<boolean>;
static recordRequest(connectionId: string, provider: string): Promise<void>;
static getRawRequestTimestamps(key: string): Promise<number[]>;
static getRateLimitConfig(provider: string): IRateLimitConfig | undefined;
}