planning-center-monorepo v1.0.0
planning-center-monorepo / planning-center-base-ts/src / PcoRateLimiter
Class: PcoRateLimiter
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:27
Constructors
Constructor
new PcoRateLimiter(
limit?,windowMs?):PcoRateLimiter
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:35
Parameters
limit?
number
windowMs?
number
Returns
PcoRateLimiter
Methods
canMakeRequest()
canMakeRequest():
boolean
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:43
Check if a request can be made
Returns
boolean
recordRequest()
recordRequest():
void
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:52
Record a request
Returns
void
getTimeUntilReset()
getTimeUntilReset():
number
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:60
Get time until next window reset
Returns
number
getRateLimitInfo()
getRateLimitInfo():
RateLimitInfo
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:70
Get current rate limit info
Returns
updateFromHeaders()
updateFromHeaders(
headers):void
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:83
Update rate limit info from response headers
Parameters
headers
Returns
void
waitForAvailability()
waitForAvailability():
Promise<void>
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:112
Wait until a request can be made
Returns
Promise<void>
getDebugInfo()
getDebugInfo():
object
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:131
Get debug information about the rate limiter state
Returns
object
canMakeRequest
canMakeRequest:
boolean
limit
limit:
number
requestCount
requestCount:
number
timeUntilReset
timeUntilReset:
number
windowMs
windowMs:
number
windowStart
windowStart:
number
parseRateLimitError()
staticparseRateLimitError(errorDetail):object
Defined in: packages/planning-center-base-ts/src/rate-limiter.ts:147
Parse rate limit error details from error message
Parameters
errorDetail
string
Returns
object
current
current:
number
limit
limit:
number
period
period:
number