Class: HttpRateLimiter
Defined in: shared/utils/httpRateLimiter.ts:57
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:132
Parametersโ
configโ
Returnsโ
HttpRateLimiter
Propertiesโ
lastInvocationByKeyโ
privatereadonlylastInvocationByKey:Map<string,number>
Defined in: shared/utils/httpRateLimiter.ts:58
activeโ
privateactive:number=0
Defined in: shared/utils/httpRateLimiter.ts:60
maxWaitMsโ
privatereadonlymaxWaitMs:number
Defined in: shared/utils/httpRateLimiter.ts:62
configโ
privatereadonlyconfig:HttpRateLimiterConfig
Defined in: shared/utils/httpRateLimiter.ts:64
Methodsโ
schedule()โ
schedule<
T>(url:string,operation: () =>Promise<T>,options?: {signal?:AbortSignal; }):Promise<T>
Defined in: shared/utils/httpRateLimiter.ts:66
Type Parametersโ
Tโ
T
Parametersโ
urlโ
string
operationโ
() => Promise<T>
options?โ
signal?โ
Returnsโ
Promise<T>
toKey()โ
privatetoKey(url:string):string
Defined in: shared/utils/httpRateLimiter.ts:137
Parametersโ
urlโ
string
Returnsโ
string