UNPKG

vulcain-corejs

Version:
49 lines (48 loc) 2.04 kB
import { IContainer } from '../di/resolvers'; import { RequestContext, UserContext } from './requestContext'; import { HttpResponse } from '../pipeline/response'; export declare class VulcainHeaderNames { static X_VULCAIN_TENANT: string; static X_VULCAIN_CORRELATION_ID: string; static X_VULCAIN_CORRELATION_PATH: string; static X_VULCAIN_SERVICE_NAME: string; static X_VULCAIN_SERVICE_VERSION: string; static X_VULCAIN_ENV: string; static X_VULCAIN_CONTAINER: string; static X_VULCAIN_PUBLICPATH: string; } export interface IHttpAdapterRequest { 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 calcDelayInNanoSeconds(begin); constructor(domainName: string, container: IContainer); abstract start(port: number): any; abstract initialize(): any; abstract setStaticRoot(basePath: string): any; abstract useMiddleware(verb: string, path: string, handler: Function): any; protected abstract initializeRequestContext(ctx: RequestContext, request: IHttpAdapterRequest): any; protected startRequest(request: IHttpAdapterRequest): RequestContext; private createRequestContext(request); private endRequest(response, ctx, e?); private populateFromQuery(request); private populateWithActionSchema(action, request, defaultAction?); private normalizeCommand(request); protected executeQueryRequest(request: IHttpAdapterRequest, ctx: RequestContext): Promise<HttpResponse>; protected executeActionRequest(request: IHttpAdapterRequest, ctx: RequestContext, command?: any): Promise<HttpResponse>; private executeRequest(manager, command, ctx); }