/**
* @module MockRuleData
*/
///
import http = require('http');
import { CompletedRequest } from "../types";
import { RequestHandler } from "./mock-rule-types";
export declare type HandlerData = (SimpleHandlerData | CallbackHandlerData | PassThroughHandlerData);
export declare type HandlerType = HandlerData['type'];
export declare type HandlerDataLookup = {
'simple': SimpleHandlerData;
'callback': CallbackHandlerData;
'passthrough': PassThroughHandlerData;
};
export declare class SimpleHandlerData {
status: number;
data?: string | undefined;
headers?: http.OutgoingHttpHeaders | undefined;
readonly type: 'simple';
constructor(status: number, data?: string | undefined, headers?: http.OutgoingHttpHeaders | undefined);
}
export interface CallbackHandlerResult {
status?: number;
json?: any;
body?: string;
headers?: {
[key: string]: string;
};
}
export declare class CallbackHandlerData {
callback: (request: CompletedRequest) => CallbackHandlerResult;
readonly type: 'callback';
constructor(callback: (request: CompletedRequest) => CallbackHandlerResult);
}
export declare class PassThroughHandlerData {
readonly type: 'passthrough';
}
export declare function buildHandler(handlerData: D): RequestHandler;