UNPKG

webserv

Version:

a quick, flexible, fully typed development server

16 lines (15 loc) 618 B
/// <reference types="node" /> import { IncomingMessage } from 'http'; import { Socket, Server } from 'net'; export interface ServerConfig<T extends Server = Server> { port: number; createServer(): Promise<T>; onUpgrade?(request: IncomingMessage, socket: Socket, head: Buffer): void; onError?(error: Error): void; } export interface ServerControls { closed: Promise<unknown>; addListener: (event: string, listener: () => void) => void; stop(): Promise<void>; } export declare function startServer<T extends Server = Server>(config: ServerConfig<T>): Promise<ServerControls>;