UNPKG

vulcain-corejs

Version:
40 lines (39 loc) 1.61 kB
import * as types from './types'; import { IContainer } from './../../di/resolvers'; import { IMetrics } from '../../metrics/metrics'; import { RequestContext } from '../../servers/requestContext'; export declare abstract class AbstractHttpCommand { protected customTags: string; protected metrics: IMetrics; requestContext: RequestContext; private static METRICS_NAME; readonly container: IContainer; constructor(container: IContainer); protected initializeMetricsInfo(): void; /** * Set metric tags for this command * * @protected * @param {any} tags * * @memberOf AbstractHttpCommand */ protected setMetricsTags(uri: string): void; onCommandCompleted(duration: number, success: boolean): void; runAsync(...args: any[]): Promise<any>; protected execAsync(verb: string, url: string, data?: any): Promise<any>; protected postAsync(url: string, data: any): Promise<types.IHttpResponse>; protected getAsync(url: string): Promise<types.IHttpResponse>; protected deleteAsync(url: string): Promise<types.IHttpResponse>; protected putAsync(url: string, data: any): Promise<types.IHttpResponse>; /** * Send a http request * * @protected * @param {string} http verb to use * @param {string} url * @param {(req:types.IHttpRequest) => void} [prepareRequest] Callback to configure request before sending * @returns request response */ protected sendRequestAsync(verb: string, url: string, prepareRequest?: (req: types.IHttpRequest) => void): Promise<types.IHttpResponse>; }