Class: HttpRateLimiter
Defined in: shared/utils/httpRateLimiter.ts:133
A small rate limiter designed for HTTP monitor workloads.
Remarksโ
This is intentionally environment-agnostic and safe for shared usage. Consumers may wrap it to add logging or load config from env vars.
Constructorsโ
Constructorโ
new HttpRateLimiter(config: HttpRateLimiterConfig): HttpRateLimiter;
Defined in: shared/utils/httpRateLimiter.ts:198
Parametersโ
configโ
Returnsโ
HttpRateLimiter
Propertiesโ
lastInvocationByKeyโ
private readonly lastInvocationByKey: Map<string, number>;
Defined in: shared/utils/httpRateLimiter.ts:134
activeโ
private active: number = 0;
Defined in: shared/utils/httpRateLimiter.ts:136
maxWaitMsโ
private readonly maxWaitMs: number;
Defined in: shared/utils/httpRateLimiter.ts:138
configโ
private readonly config: HttpRateLimiterConfig;
Defined in: shared/utils/httpRateLimiter.ts:140
Methodsโ
schedule()โ
schedule<T>(
url: string,
operation: () => Promise<T>,
options?: {
signal?: AbortSignal;
}): Promise<T>;
Defined in: shared/utils/httpRateLimiter.ts:142
Type Parametersโ
Tโ
T
Parametersโ
urlโ
string
operationโ
() => Promise<T>
options?โ
signal?โ
Returnsโ
Promise<T>
toKey()โ
private toKey(url: string): string;
Defined in: shared/utils/httpRateLimiter.ts:245
Parametersโ
urlโ
string
Returnsโ
string