diff --git a/android/capacitor/src/main/assets/native-bridge.js b/android/capacitor/src/main/assets/native-bridge.js index 659fa5e53d..2db2545b32 100644 --- a/android/capacitor/src/main/assets/native-bridge.js +++ b/android/capacitor/src/main/assets/native-bridge.js @@ -504,9 +504,13 @@ var nativeBridge = (function (exports) { options.method.toLocaleUpperCase() === 'HEAD' || options.method.toLocaleUpperCase() === 'OPTIONS' || options.method.toLocaleUpperCase() === 'TRACE') { - const modifiedResource = createProxyUrl(resource.toString(), win); - const response = await win.CapacitorWebFetch(modifiedResource, options); - return response; + if (typeof resource === 'string') { + return await win.CapacitorWebFetch(createProxyUrl(resource, win), options); + } + else if (resource instanceof Request) { + const modifiedRequest = new Request(createProxyUrl(resource.url, win), resource); + return await win.CapacitorWebFetch(modifiedRequest, options); + } } const tag = `CapacitorHttp fetch ${Date.now()} ${resource}`; console.time(tag); diff --git a/core/native-bridge.ts b/core/native-bridge.ts index f0232233c1..48e9e5ef8e 100644 --- a/core/native-bridge.ts +++ b/core/native-bridge.ts @@ -558,13 +558,18 @@ const initBridge = (w: any): void => { options.method.toLocaleUpperCase() === 'OPTIONS' || options.method.toLocaleUpperCase() === 'TRACE' ) { - const modifiedResource = createProxyUrl(resource.toString(), win); - const response = await win.CapacitorWebFetch( - modifiedResource, - options, - ); - - return response; + if (typeof resource === 'string') { + return await win.CapacitorWebFetch( + createProxyUrl(resource, win), + options, + ); + } else if (resource instanceof Request) { + const modifiedRequest = new Request( + createProxyUrl(resource.url, win), + resource, + ); + return await win.CapacitorWebFetch(modifiedRequest, options); + } } const tag = `CapacitorHttp fetch ${Date.now()} ${resource}`; diff --git a/ios/Capacitor/Capacitor/assets/native-bridge.js b/ios/Capacitor/Capacitor/assets/native-bridge.js index 659fa5e53d..2db2545b32 100644 --- a/ios/Capacitor/Capacitor/assets/native-bridge.js +++ b/ios/Capacitor/Capacitor/assets/native-bridge.js @@ -504,9 +504,13 @@ var nativeBridge = (function (exports) { options.method.toLocaleUpperCase() === 'HEAD' || options.method.toLocaleUpperCase() === 'OPTIONS' || options.method.toLocaleUpperCase() === 'TRACE') { - const modifiedResource = createProxyUrl(resource.toString(), win); - const response = await win.CapacitorWebFetch(modifiedResource, options); - return response; + if (typeof resource === 'string') { + return await win.CapacitorWebFetch(createProxyUrl(resource, win), options); + } + else if (resource instanceof Request) { + const modifiedRequest = new Request(createProxyUrl(resource.url, win), resource); + return await win.CapacitorWebFetch(modifiedRequest, options); + } } const tag = `CapacitorHttp fetch ${Date.now()} ${resource}`; console.time(tag);