/// import { RequestContext } from "./requestContext"; import url = require('url'); import { IContainer } from "../di/resolvers"; import { HttpResponse } from "./response"; import http = require('http'); export declare abstract class VulcainMiddleware { next: VulcainMiddleware; invoke(ctx: RequestContext): Promise; } export interface HttpRequest { url: url.Url; headers: { [header: string]: string | string[]; }; body: any; verb: string; nativeRequest?: http.IncomingMessage; nativeResponse?: http.ServerResponse; } export declare class VulcainPipeline { private first; private last; constructor(middlewares?: VulcainMiddleware[]); use(middleware: VulcainMiddleware): this; process(container: IContainer, request: HttpRequest): Promise; }