request-mocking-protocol
Version:
A protocol for declarative mocking of HTTP requests
57 lines • 1.9 kB
TypeScript
/**
* Schema to match the request.
*/
export type MockRequestSchema = {
/**
* The pattern to match the request URL.
*/
url: string;
/**
* Pattern type:
* - 'urlpattern': match request URL by URLPattern (default).
* - 'regexp': match request URL by regular expression.
*/
patternType?: 'urlpattern' | 'regexp';
/**
* The request method for matching.
*/
method?: HttpMethod;
/**
* The query parameters for matching, defined as key-value pairs.
*/
query?: Record<string, string | number | null>;
/**
* The request headers for matching, defined as key-value pairs.
*/
headers?: Record<string, string | null>;
/**
* The request body for matching, defined as a string or JSON.
*/
body?: string | Record<string, unknown> | Array<unknown>;
/**
* Flag to output debug info on server.
*/
debug?: boolean;
};
export type MockRequestSchemaInit = string | RegExp | {
url: string | RegExp;
patternType?: MockRequestSchema['patternType'];
method?: MockRequestSchema['method'];
query?: MockRequestSchema['query'];
headers?: MockRequestSchema['headers'];
body?: MockRequestSchema['body'];
debug?: MockRequestSchema['debug'];
};
export declare function buildMockRequestSchema(init: MockRequestSchemaInit): MockRequestSchema;
export declare function toMockRequestSchemaObject(init: MockRequestSchemaInit): {
url: string | RegExp;
patternType?: MockRequestSchema["patternType"];
method?: MockRequestSchema["method"];
query?: MockRequestSchema["query"];
headers?: MockRequestSchema["headers"];
body?: MockRequestSchema["body"];
debug?: MockRequestSchema["debug"];
};
type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
export {};
//# sourceMappingURL=request-schema.d.ts.map