UNPKG

@camar/http

Version:

To use __superconductor__ you need to build sources by `yarn build`

18 lines (17 loc) 1.13 kB
/// <reference types="node" /> import * as http from 'http'; import Layer from './layer'; import { IRequest, IResponse, ILayer, ContextResolver, Middleware, IController } from './types'; export default class Server<TContext = undefined> implements ILayer<IRequest<any, any>, IResponse, TContext> { private readonly _router; private readonly _currentContext; private readonly _defaultLayer; private readonly _server; constructor(context?: TContext); listen(port: number): Promise<void>; context<TNewContext>(resolver: ContextResolver<TContext, TNewContext>): Layer<IRequest<any, any>, IResponse, TNewContext>; middleware<MRequest extends IRequest<any, any> = IRequest<any, any>, MResponse extends IResponse = IResponse>(middleware: Middleware<TContext, IRequest<any, any>, IResponse, MRequest, MResponse>): Layer<MRequest, MResponse, TContext>; route<LRequest extends IRequest<any, any>, LResponse extends IResponse>(template: string, method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE'): IController<LRequest, LResponse, TContext>; get server(): http.Server; close(): Promise<void>; }