























@@ -41,7 +41,6 @@ const SENSITIVE_CAPTURE_HEADER_NAME_FRAGMENTS = [
41414242type GlobalFetchPatchedState = {
4343originalFetch: typeof globalThis.fetch;
44-patchedFetch: typeof globalThis.fetch;
4544};
46454746type GlobalFetchPatchTarget = typeof globalThis & {
@@ -135,16 +134,15 @@ function installDebugProxyGlobalFetchPatch(settings: DebugProxySettings): void {
135134return;
136135}
137136const patched = globalThis as GlobalFetchPatchTarget;
138-const existing = patched[DEBUG_PROXY_FETCH_PATCH_KEY];
139-if (existing && globalThis.fetch === existing.patchedFetch) {
137+if (patched[DEBUG_PROXY_FETCH_PATCH_KEY]) {
140138return;
141139}
142-const originalFetch = globalThis.fetch;
143-const callOriginalFetch = originalFetch.bind(globalThis);
144-const patchedFetch = (async (input: RequestInfo | URL, init?: RequestInit) => {
140+const originalFetch = globalThis.fetch.bind(globalThis);
141+patched[DEBUG_PROXY_FETCH_PATCH_KEY] = { originalFetch };
142+globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => {
145143const url = resolveUrlString(input);
146144try {
147-const response = await callOriginalFetch(input, init);
145+const response = await originalFetch(input, init);
148146if (url && /^https?:/i.test(url)) {
149147captureHttpExchange({
150148 url,
@@ -201,8 +199,6 @@ function installDebugProxyGlobalFetchPatch(settings: DebugProxySettings): void {
201199throw error;
202200}
203201}) as typeof globalThis.fetch;
204-patched[DEBUG_PROXY_FETCH_PATCH_KEY] = { originalFetch, patchedFetch };
205-globalThis.fetch = patchedFetch;
206202}
207203208204function uninstallDebugProxyGlobalFetchPatch(): void {
@@ -211,15 +207,12 @@ function uninstallDebugProxyGlobalFetchPatch(): void {
211207if (!state) {
212208return;
213209}
214-if (globalThis.fetch === state.patchedFetch) {
215-globalThis.fetch = state.originalFetch;
216-}
210+globalThis.fetch = state.originalFetch;
217211delete patched[DEBUG_PROXY_FETCH_PATCH_KEY];
218212}
219213220214export function isDebugProxyGlobalFetchPatchInstalled(): boolean {
221-const state = (globalThis as GlobalFetchPatchTarget)[DEBUG_PROXY_FETCH_PATCH_KEY];
222-return Boolean(state && globalThis.fetch === state.patchedFetch);
215+return Boolean((globalThis as GlobalFetchPatchTarget)[DEBUG_PROXY_FETCH_PATCH_KEY]);
223216}
224217225218export function initializeDebugProxyCapture(mode: string, resolved?: DebugProxySettings): void {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。