Add mTLS ClientCert support

Signed-off-by: Frank Jogeleit <frank.jogeleit@lovoo.com>
This commit is contained in:
Frank Jogeleit
2023-08-10 10:55:12 +02:00
parent eab8015483
commit 25fb88fa43
5 changed files with 46 additions and 245 deletions

29
dist/index.js vendored
View File

@@ -1211,6 +1211,19 @@ class HttpClientResponse {
}));
});
}
readBodyBuffer() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
const chunks = [];
this.message.on('data', (chunk) => {
chunks.push(chunk);
});
this.message.on('end', () => {
resolve(Buffer.concat(chunks));
});
}));
});
}
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
@@ -1715,7 +1728,13 @@ function getProxyUrl(reqUrl) {
}
})();
if (proxyVar) {
return new URL(proxyVar);
try {
return new URL(proxyVar);
}
catch (_a) {
if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://'))
return new URL(`http://${proxyVar}`);
}
}
else {
return undefined;
@@ -9828,8 +9847,12 @@ const instanceConfig = {
headers: { ...headers, ...customHeaders }
}
if (!!core.getInput('httpsCA')) {
instanceConfig.httpsAgent = new https.Agent({ ca: core.getInput('httpsCA') })
if (!!core.getInput('httpsCA') || !!core.getInput('httpsCert')) {
instanceConfig.httpsAgent = new https.Agent({
ca: core.getInput('httpsCA') || undefined,
cert: core.getInput('httpsCert') || undefined,
key: core.getInput('httpsKey') || undefined
})
}
if (!!core.getInput('username') || !!core.getInput('password')) {