import { IRequestContext, Pipeline, RequestData } from './common'; import { IContainer } from '../di/resolvers'; import { SecurityContext, UserContextData } from '../security/securityContext'; import { HttpRequest } from "./vulcainPipeline"; import { HttpResponse } from "./response"; import { ISpanRequestTracker } from '../instrumentations/common'; export declare class VulcainHeaderNames { static X_VULCAIN_TENANT: string; static X_VULCAIN_CORRELATION_ID: string; static X_VULCAIN_TRACE_ID: string; static X_VULCAIN_PARENT_ID: 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; static X_VULCAIN_USE_STUB: string; static X_VULCAIN_REGISTER_STUB: string; } export declare class ContextWrapper implements IRequestContext { private _tracker; private _requestData; parent: RequestContext; readonly user: SecurityContext; readonly container: IContainer; readonly locale: string; readonly hostName: string; readonly requestData: RequestData; readonly request: HttpRequest; readonly publicPath: string | string[]; keepConnected: boolean; constructor(context: IRequestContext, data: string | RequestData); readonly requestTracker: ISpanRequestTracker; getBearerToken(): string; setBearerToken(token: string): void; readonly now: number; createCommandRequest(commandName: string): ContextWrapper; createCustomTracker(name: string, tags?: { [index: string]: string; }): any; getRequestDataObject(): { vulcainVerb: string; correlationId: string; action: string; domain: string; schema: string; params: any; pageSize: number; page: number; }; sendCustomEvent(action: string, params?: any, schema?: string): void; logError(error: Error, msg?: () => string): void; logInfo(msg: () => string): void; logVerbose(msg: () => string): void; dispose(): void; } export declare class RequestContext implements IRequestContext { pipeline: Pipeline; parent: IRequestContext; container: IContainer; locale: string; requestData: RequestData; keepConnected: boolean; response: HttpResponse; request: HttpRequest; private _securityManager; _tracker: ISpanRequestTracker; private _customEvents; /** * Do not use directly * Create an instance of RequestContext. * * @param {IContainer} container * @param {Pipeline} pipeline */ constructor(container: IContainer, pipeline: Pipeline, data?: any); readonly requestTracker: ISpanRequestTracker; createCustomTracker(name: string, tags?: { [index: string]: string; }): any; getBearerToken(): string; setBearerToken(token: string): void; createCommandRequest(commandName: string): ContextWrapper; readonly now: number; getRequestDataObject(): { vulcainVerb: string; correlationId: string; action: string; domain: string; schema: string; params: any; pageSize: number; page: number; }; readonly user: SecurityContext; setSecurityContext(tenant: string | UserContextData): void; sendCustomEvent(action: string, params?: any, schema?: string): void; /** * Log an error * * @param {Error} error Error instance * @param {string} [msg] Additional message * */ logError(error: Error, msg?: () => string): void; /** * Log a message info * * @param {string} msg Message format (can include %s, %j ...) * @param {...Array} params Message parameters * */ logInfo(msg: () => string): void; /** * Log a verbose message. Verbose message are enable by service configuration property : enableVerboseLog * * @param {any} context Current context * @param {string} msg Message format (can include %s, %j ...) * @param {...Array} params Message parameters * */ logVerbose(msg: () => string): void; readonly hostName: string; /** * Public path used to exposed this service - Set only for public service * * @readonly * * @memberOf RequestContext */ readonly publicPath: string | string[]; dispose(): void; normalize(): void; }