import { IncomingMessage as HttpIncomingMessage, ServerResponse as HttpServerResponse, ClientRequest as HttpClientRequest, } from 'http'; import { WebServerContext } from '../middleware'; export interface IncomingMessage
extends HttpIncomingMessage { context: WebServerContext; body: TBody; originalUrl: string; pathname: string; params: any; search: any; query: any; host: string; hostname: string; } export interface ServerResponse extends HttpServerResponse { json( data: object, code?: number, headers?: { [name: string]: string | number }, replacer?: (key: string, value: any) => any, spaces?: string | number, escape?: boolean ); send(data: any, code?: number, headers?: { [name: string]: string | number }); sendError(code: number, data: any); } export interface ClientRequest extends HttpClientRequest {} export type HttpMethod = | 'CHECKOUT' | 'COPY' | 'DELETE' | 'GET' | 'HEAD' | 'LOCK' | 'MERGE' | 'MKACTIVITY' | 'MKCOL' | 'MOVE' | 'M-SEARCH' | 'NOTIFY' | 'OPTIONS' | 'PATCH' | 'POST' | 'PURGE' | 'PUT' | 'REPORT' | 'SEARCH' | 'SUBSCRIBE' | 'TRACE' | 'UNLOCK' | 'UNSUBSCRIBE';