ApiHandler
Signature
export declare class ApiHandler<TClient = unknown>Properties
28optionsglobalBlockratelimitsreadyQueuebucketAliasesglobalBlocksglobalTimerscdnworkerPromisesonRatelimitonSuccessRequestonFailRequestpluginRestObserverProviderpluginRestObserverClientrestObserversdebugproxynotifyRequestnotifySuccessRequestnotifyFailRequestnotifyRatelimitnotifyRestObserversnotifyRestObserverEntrieslearnBucketglobalRateLimitKeyblockGlobalunblockGlobaldebugger
Methods
16Properties
options: ApiHandlerInternalOptions;globalBlock: boolean;ratelimits: Map<string, Bucket>;readyQueue: (() => void)[];private bucketAliases;private globalBlocks;private globalTimers;cdn: CDNRoute;workerPromises?: Map<string, { resolve: (value: any) => any; reject: (error: any) => any;}>;onRatelimit?: OnRatelimitCallback;onSuccessRequest?: OnSuccessRequestCallback;onFailRequest?: OnFailRequestCallback;pluginRestObserverProvider?: () => readonly RestObserverEntry[];pluginRestObserverClient?: TClient;private restObservers;debugSetterset debug(active: boolean);proxyGetterget proxy(): APIRoutes;private notifyRequest;private notifySuccessRequest;private notifyFailRequest;private notifyRatelimit;private notifyRestObservers;private notifyRestObserverEntries;private learnBucket;private globalRateLimitKey;private blockGlobal;private unblockGlobal;debugger?: Logger;Methods
constructorConstructorconstructor(options: ApiHandlerOptions);observe(observer: RestObserver<TClient>, _opts?: RestObserveOptions): RestObserverDisposer;globalUnblock(): void;randomUUID(): UUID;protected sendMessage(_body: WorkerSendApiRequest): void;protected postMessage<T = unknown>(body: WorkerSendApiRequest): Promise<T>;request<T = unknown>(method: HttpMethods, url: `/${string}`, request?: ApiRequestOptions): Promise<T>;parseError(method: HttpMethods, route: `/${string}`, response: Response, result: string | Record<string, any>, originTrace?: { stack?: string;}): SeyfertError;parseValidationError(data: Record<string, any>, path?: string, errors?: string[]): string[];handle50X(method: HttpMethods, url: `/${string}`, request: ApiRequestOptions, attempts: number | (() => void), next?: () => void, resolve?: (value: unknown) => void, reject?: (err: unknown) => void): Promise<unknown>;handle429(route: string, method: HttpMethods, url: `/${string}`, request: ApiRequestOptions, response: Response, result: string, next: () => void, reject: (err: unknown) => void, now: number, notifyUrl: `/${string}`): Promise<unknown>;clearResetInterval(route: string): void;setResetBucket(route: string, resp: Response, now: number, headerNow: number, normalizedRoute?: string): void;setRatelimitsBucket(route: string, resp: Response): void;parseRequest(options: { url: string; headers: RequestHeaders; request: ApiRequestOptions;}): { data: string | FormData | undefined; finalUrl: `/${string}`;};routefy(url: string, method: HttpMethods): `/${string}`;