diff options
Diffstat (limited to 'desktop/node_modules/global-agent/dist/classes/HttpsProxyAgent.js')
-rw-r--r-- | desktop/node_modules/global-agent/dist/classes/HttpsProxyAgent.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/desktop/node_modules/global-agent/dist/classes/HttpsProxyAgent.js b/desktop/node_modules/global-agent/dist/classes/HttpsProxyAgent.js new file mode 100644 index 0000000..1206ffa --- /dev/null +++ b/desktop/node_modules/global-agent/dist/classes/HttpsProxyAgent.js @@ -0,0 +1,53 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _net = _interopRequireDefault(require("net")); + +var _tls = _interopRequireDefault(require("tls")); + +var _Agent = _interopRequireDefault(require("./Agent")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +class HttpsProxyAgent extends _Agent.default { + // eslint-disable-next-line unicorn/prevent-abbreviations + constructor(...args) { + super(...args); + this.protocol = 'https:'; + this.defaultPort = 443; + } + + createConnection(configuration, callback) { + const socket = _net.default.connect(configuration.proxy.port, configuration.proxy.hostname); + + socket.on('error', error => { + callback(error); + }); + socket.once('data', () => { + const secureSocket = _tls.default.connect({ ...configuration.tls, + socket + }); + + callback(null, secureSocket); + }); + let connectMessage = ''; + connectMessage += 'CONNECT ' + configuration.host + ':' + configuration.port + ' HTTP/1.1\r\n'; + connectMessage += 'Host: ' + configuration.host + ':' + configuration.port + '\r\n'; + + if (configuration.proxy.authorization) { + connectMessage += 'Proxy-Authorization: Basic ' + Buffer.from(configuration.proxy.authorization).toString('base64') + '\r\n'; + } + + connectMessage += '\r\n'; + socket.write(connectMessage); + } + +} + +var _default = HttpsProxyAgent; +exports.default = _default; +//# sourceMappingURL=HttpsProxyAgent.js.map
\ No newline at end of file |