diff --git a/index.js b/index.js index 07d55dc50..2c983f3b8 100644 --- a/index.js +++ b/index.js @@ -35,7 +35,11 @@ function requestAsEventEmitter(opts) { return; } - const fn = opts.protocol === 'https:' ? https : http; + let fn = opts.protocol === 'https:' ? https : http; + + if (process.versions.electron) { + fn = require('electron').net; + } const req = fn.request(opts, res => { const statusCode = res.statusCode; diff --git a/package.json b/package.json index 34f0b9962..815f92d0f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,10 @@ "simple", "curl", "wget", - "fetch" + "fetch", + "net", + "network", + "electron" ], "dependencies": { "decompress-response": "^3.2.0", diff --git a/readme.md b/readme.md index 6f2511984..04c1b0cc2 100644 --- a/readme.md +++ b/readme.md @@ -16,6 +16,8 @@ It supports following redirects, promises, streams, retries, automagically handl Created because [`request`](https://github.com/request/request) is bloated *(several megabytes!)*. +When used with Electron, it takes advantage of [`electron.net`](https://electron.atom.io/docs/api/net/). + ## Install