/// /// /// import { IncomingMessage, ServerResponse } from "http"; import { ContextOptions, ILogger, SkhailNetwork } from "@skhail/core"; import internal from "stream"; export interface IRequestHandler { setLogger: (logger: ILogger) => void; match: (url: string) => boolean; prepare?: () => Promise; cleanup?: () => Promise; upgrade?: (server: SkhailNetwork, request: IncomingMessage, socket: internal.Duplex, head: Buffer) => void; handle: (server: SkhailNetwork, request: IncomingMessage, response: ServerResponse) => Promise; }