openvibe-sdk/limits
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.13.0.
From types/limits.d.ts (server only). Declarations are shown verbatim.
interface WindowLimits
export interface WindowLimits { minute?: number; hour?: number; day?: number }type ActorOf
export type ActorOf = (req: IncomingMessage & Record<string, any>) => string | null;interface LimitedEvent
export interface LimitedEvent { actor: string; name: string; window: 'minute' | 'hour' | 'day'; limit: number }type LimitMiddleware
export type LimitMiddleware = (req: IncomingMessage & Record<string, any>, res: ServerResponse, next: (err?: unknown) => void) => void;interface ActorLimiter
export interface ActorLimiter {
/** Middleware for one capability or route; its limits replace the defaults window by window. */
(name: string, limits?: WindowLimits): LimitMiddleware;
stats(): { allowed: number; limited: number; actors: number };
reset(): void;
}export export function createActorLimiter(opts?: { limits?: WindowL
export function createActorLimiter(opts?: { limits?: WindowLimits; actor?: ActorOf; maxActors?: number; now?: () => number; onLimited?: (e: LimitedEvent) => void }): ActorLimiter;export export const defaultActor: ActorOf;
req.principal.sub, else the signed-in person (user:<subject>), else ip:<address>.
export const defaultActor: ActorOf;export export const WINDOWS: { minute: 60; hour: 3600; day: 86400 }
export const WINDOWS: { minute: 60; hour: 3600; day: 86400 };