diff --git a/package-lock.json b/package-lock.json index 4c8bbcbc..dbbfd438 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "fast-toml": "^0.5.4", "fast-xml-parser": "^4.2.4", "help": "^3.0.2", + "https-proxy-agent": "^7.0.6", "node-fetch": "^2.6.7", "packageurl-js": "^1.0.2", "yargs": "^17.7.2" @@ -942,6 +943,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", "dev": true, @@ -1480,7 +1490,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -2232,6 +2241,19 @@ "dev": true, "license": "MIT" }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "dev": true, @@ -2836,7 +2858,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/msw": { diff --git a/package.json b/package.json index c545ac0d..6f334b58 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "fast-toml": "^0.5.4", "fast-xml-parser": "^4.2.4", "help": "^3.0.2", + "https-proxy-agent": "^7.0.6", "node-fetch": "^2.6.7", "packageurl-js": "^1.0.2", "yargs": "^17.7.2" diff --git a/src/analysis.js b/src/analysis.js index d440b30f..747efffc 100644 --- a/src/analysis.js +++ b/src/analysis.js @@ -2,8 +2,7 @@ import fs from "node:fs"; import path from "node:path"; import {EOL} from "os"; import {RegexNotToBeLogged, getCustom} from "./tools.js"; -import http from 'node:http'; -import https from 'node:https'; +import { HttpsProxyAgent } from "https-proxy-agent"; export default { requestComponent, requestStack, validateToken } @@ -20,10 +19,7 @@ const rhdaOperationTypeHeader = "rhda-operation-type" function addProxyAgent(options, opts) { const proxyUrl = getCustom('EXHORT_PROXY_URL', null, opts); if (proxyUrl) { - const proxyUrlObj = new URL(proxyUrl); - options.agent = proxyUrlObj.protocol === 'https:' - ? new https.Agent({ proxy: proxyUrl }) - : new http.Agent({ proxy: proxyUrl }); + options.agent = new HttpsProxyAgent(proxyUrl); } return options; }