mockttp
Version:
Mock HTTP server for testing HTTP clients and stubbing webservices
37 lines • 1.45 kB
TypeScript
import { OngoingRequest, CompletedRequest, OngoingResponse, Explainable } from "../../types";
import { MaybePromise } from '@httptoolkit/util';
import * as matchers from "../matchers";
import { type RequestStepDefinition } from "./request-step-definitions";
import * as completionCheckers from "../completion-checkers";
export interface RequestRule extends Explainable {
id: string;
requests: Promise<CompletedRequest>[];
matches(request: OngoingRequest): MaybePromise<boolean>;
handle(request: OngoingRequest, response: OngoingResponse, options: {
record: boolean;
debug: boolean;
emitEventCallback?: (type: string, event: unknown) => void;
}): Promise<void>;
isComplete(): boolean | null;
}
export interface RequestRuleData {
id?: string;
priority?: number;
matchers: matchers.RequestMatcher[];
steps: Array<RequestStepDefinition>;
completionChecker?: completionCheckers.RuleCompletionChecker;
}
export declare class RequestRule implements RequestRule {
private matchers;
private steps;
private completionChecker?;
id: string;
readonly priority: number;
requests: Promise<CompletedRequest>[];
requestCount: number;
constructor(data: RequestRuleData);
explain(withoutExactCompletion?: boolean): string;
dispose(): void;
}
export declare function explainSteps(steps: RequestStepDefinition[]): string;
//# sourceMappingURL=request-rule.d.ts.map