diff --git a/packages/insomnia/src/main/network/curl.ts b/packages/insomnia/src/main/network/curl.ts index 9b7935ff8d..11d350805d 100644 --- a/packages/insomnia/src/main/network/curl.ts +++ b/packages/insomnia/src/main/network/curl.ts @@ -150,9 +150,9 @@ const openCurlConnection = async ( const caCertificate = caCertficatePath && (await insecureReadFile(caCertficatePath)); try { - if (!options.url) { - throw new Error('URL is required'); - } + invariant(options.url, 'URL must be defined'); + invariant(!options.url.startsWith('file://'), 'Local file URIs are not supported'); + const readyStateChannel = `${protocolName}.${request._id}.${REALTIME_EVENTS_CHANNELS.READY_STATE}`; const settings = await services.settings.get(); diff --git a/packages/insomnia/src/main/network/libcurl-promise.ts b/packages/insomnia/src/main/network/libcurl-promise.ts index 10c3728f82..4d3d958b50 100644 --- a/packages/insomnia/src/main/network/libcurl-promise.ts +++ b/packages/insomnia/src/main/network/libcurl-promise.ts @@ -119,7 +119,8 @@ export const curlRequest = (options: CurlRequestOptions) => authHeader, noDecompress = false, } = options; - // allow reading the file as the caCert is chosen by user + + invariant(!finalUrl.startsWith('file://'), 'Local file URIs are not supported'); const caCert = caCertficatePath && (await insecureReadFile(caCertficatePath)); const { curl, debugTimeline } = createConfiguredCurlInstance({