UNPKG

@camar/http

Version:

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

15 lines (14 loc) 1.34 kB
import { Middleware, IRequest, RequestMethod, IResponse, ILayer, IController, RouteHandler, ContextResolver } from './types'; import Router from './router'; export default class Layer<TRequest extends IRequest<any, any>, TResponse extends IResponse, TContext> implements ILayer<TRequest, TResponse, TContext> { private readonly router; private readonly previous; private readonly _middleware; private contextResolver; constructor(router: Router, previous: Layer<any, any, any>, _middleware: Middleware<TContext, any, any, TRequest, TResponse>, contextResolver: ContextResolver<void, TContext>); chain(handler: RouteHandler<TRequest, TResponse, TContext>): RouteHandler<IRequest<any, any>, IResponse, void>; register(template: string, handler: RouteHandler<TRequest, TResponse, TContext>, method: RequestMethod): void; context<TNewContext>(resolver: ContextResolver<TContext, TNewContext>): Layer<TRequest, TResponse, TNewContext>; middleware<MRequest extends IRequest<any, any> = TRequest, MResponse extends IResponse = TResponse>(middleware: Middleware<TContext, TRequest, TResponse, MRequest, MResponse>): Layer<MRequest, MResponse, TContext>; route<LRequest extends TRequest, LResponse extends TResponse>(template: string, method?: RequestMethod): IController<LRequest, LResponse, TContext>; }