mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 20:20:49 +00:00
30 lines
765 B
JavaScript
30 lines
765 B
JavaScript
/**
|
|
* @typedef {Object} RequestInterceptorBuilder
|
|
* @property {string} targetUrl
|
|
* @property {(statusCode: number, message: string) => void} blockRequest
|
|
* @property {() => RequestInterceptor} build
|
|
*
|
|
* @typedef {Object} RequestInterceptor
|
|
* @property {{statusCode: number, message: string} | undefined} blockResponse
|
|
*/
|
|
|
|
/**
|
|
* @param {string} targetUrl
|
|
* @returns {RequestInterceptorBuilder}
|
|
*/
|
|
export function createRequestInterceptorBuilder(targetUrl) {
|
|
/** @type {{statusCode: number, message: string} | undefined} */
|
|
let blockResponse = undefined;
|
|
|
|
return {
|
|
targetUrl,
|
|
blockRequest(statusCode, message) {
|
|
blockResponse = { statusCode, message };
|
|
},
|
|
build() {
|
|
return {
|
|
blockResponse,
|
|
};
|
|
},
|
|
};
|
|
}
|