UNPKG

@furystack/rest-service

Version:

Repository implementation for FuryStack

31 lines 988 B
import { EventHub } from '@furystack/utils'; import type { IncomingMessage, Server, ServerResponse } from 'http'; export interface ServerOptions { hostName?: string; port: number; } export interface OnRequest { req: IncomingMessage; res: ServerResponse; } export interface ServerApi { shouldExec: (options: OnRequest) => boolean; onRequest: (options: OnRequest) => Promise<void>; } export interface ServerRecord { server: Server; apis: ServerApi[]; } export declare class ServerManager extends EventHub<{ onRequestFailed: [unknown, IncomingMessage, ServerResponse<IncomingMessage>]; }> implements AsyncDisposable { static DEFAULT_HOST: string; servers: Map<string, ServerRecord>; private openedSockets; private readonly listenLock; private getHostUrl; private onConnection; [Symbol.asyncDispose](): Promise<void>; getOrCreate(options: ServerOptions): Promise<ServerRecord>; } //# sourceMappingURL=server-manager.d.ts.map