Skip to Content
APIPlanning Center Base TSSrcClassesClass: PcoRateLimiter

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

RateLimitInfo


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

RateLimitHeaders

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()

static parseRateLimitError(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