UNPKG

request-mocking-protocol

Version:
24 lines 1.06 kB
"use strict"; /** * Global fetch interceptor. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.setupFetchInterceptor = setupFetchInterceptor; const utils_1 = require("../request-matcher/utils"); const response_builder_1 = require("../response-builder"); const transport_1 = require("../transport"); function setupFetchInterceptor(getIncomingHeaders) { const originalFetch = globalThis.fetch; globalThis.fetch = async (input, init) => { const request = new Request(input, init); const mockSchemas = await (0, transport_1.extractMockSchemas)(getIncomingHeaders); const matchResult = await (0, utils_1.matchSchemas)(request, mockSchemas); if (!matchResult) return originalFetch(input, init); const { body, headers, status, statusText } = await new response_builder_1.ResponseBuilder(matchResult, { bypass: (req) => originalFetch(req), }).build(); return new Response(body, { status, statusText, headers }); }; } //# sourceMappingURL=fetch.js.map