UNPKG

vulcain-corejs

Version:
38 lines (37 loc) 1.58 kB
import { IContainer } from '../di/resolvers'; import { RequestContext, UserContext } from './requestContext'; import { HttpResponse } from '../pipeline/response'; export interface IHttpRequest { readonly body: any; readonly params: any; readonly query: any; readonly headers: { [name: string]: string; }; readonly hostname: string; readonly user: UserContext; } export declare abstract class AbstractAdapter { protected domainName: string; protected container: IContainer; private commandManager; private queryManager; protected testUser: UserContext; private domain; private metrics; private calcDelayInMs(begin); constructor(domainName: string, container: IContainer); abstract start(port: number): any; abstract setStaticRoot(basePath: string): any; abstract useMiddleware(verb: string, path: string, handler: Function): any; private startRequest(command); protected abstract initializeRequestContext(ctx: RequestContext, request: IHttpRequest): any; protected createRequestContext(request: IHttpRequest): void; private endRequest(begin, response, ctx, e?); private populateFromQuery(request); private populateWithActionSchema(action, request, defaultAction?); private normalizeCommand(request); protected executeQueryRequest(request: IHttpRequest, ctx: RequestContext): Promise<HttpResponse>; protected executeActionRequest(request: IHttpRequest, ctx: RequestContext, command?: any): Promise<HttpResponse>; private executeRequest(manager, command, ctx); }