/** * @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;