curl/dist/requestconf.js

137 lines
5.5 KiB
JavaScript

"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.INPUT_RETRIES = exports.INPUT_CUSTOM_CONFIG_FILE = exports.INPUT_LOG_RESPONSE = exports.INPUT_ACCEPT = exports.INPUT_TIMEOUT = exports.INPUT_METHOD = exports.INPUT_BODY = exports.INPUT_PARAMS = exports.INPUT_HEADERS = exports.INPUT_URL = exports.INPUT_PROXY_AUTH_TOKEN = exports.INPUT_PROXY_URL = exports.INPUT_BEARER_TOKEN = exports.INPUT_BASIC_AUTH_TOKEN = void 0;
var util_1 = require("./util");
var core = __importStar(require("@actions/core"));
// builder for request config
// inputs
exports.INPUT_BASIC_AUTH_TOKEN = core.getInput("basic-auth-token");
exports.INPUT_BEARER_TOKEN = core.getInput("bearer-token");
exports.INPUT_PROXY_URL = core.getInput("proxy-url");
exports.INPUT_PROXY_AUTH_TOKEN = core.getInput("proxy-auth-token");
exports.INPUT_URL = core.getInput("url", {
required: true,
});
exports.INPUT_HEADERS = core.getInput("headers");
exports.INPUT_PARAMS = core.getInput("params");
exports.INPUT_BODY = core.getInput("body");
exports.INPUT_METHOD = core.getInput("method");
exports.INPUT_TIMEOUT = core.getInput("timeout");
exports.INPUT_ACCEPT = core.getInput("accept");
exports.INPUT_LOG_RESPONSE = core.getBooleanInput("log-response");
exports.INPUT_CUSTOM_CONFIG_FILE = core.getInput("custom-config");
exports.INPUT_RETRIES = core.getInput("retries");
var builder = {
basicAuth: function () {
var basicAuthString = Buffer.from(exports.INPUT_BASIC_AUTH_TOKEN, "base64").toString();
var basicAuthArr = basicAuthString.trim().split(":");
if (basicAuthArr.length !== 2) {
throw new Error("basic-auth-token format is invalid. The valid format should be username:password as base64.");
}
return {
username: basicAuthArr[0],
password: basicAuthArr[1],
};
},
bearerToken: function () {
return "Bearer " + exports.INPUT_BEARER_TOKEN;
},
proxy: function () {
var proxy;
if (exports.INPUT_PROXY_URL.includes("//")) {
var proxyUrlArr = exports.INPUT_PROXY_URL.replace("//", "")
.trim()
.split(":");
if (proxyUrlArr.length !== 3) {
throw new Error("proxy-url format is invalid. The valid format should be host:port.");
}
proxy = {
protocol: proxyUrlArr[0],
host: proxyUrlArr[1],
port: Number(proxyUrlArr[2]),
};
}
else {
var proxyUrlArr = exports.INPUT_PROXY_URL.trim().split(":");
if (proxyUrlArr.length !== 2) {
throw new Error("proxy-url format is invalid. The valid format should be host:port.");
}
proxy = {
host: proxyUrlArr[0],
port: Number(proxyUrlArr[1]),
};
}
if (exports.INPUT_PROXY_AUTH_TOKEN) {
var proxyAuthString = Buffer.from(exports.INPUT_PROXY_AUTH_TOKEN, "base64").toString();
var proxyAuthArr = proxyAuthString.trim().split(":");
if (proxyAuthArr.length !== 2) {
throw new Error("proxy-auth format is invalid. The valid format should be username:password as base64.");
}
proxy.auth = {
username: proxyAuthArr[0],
password: proxyAuthArr[1],
};
}
return proxy;
},
};
// Request config
var config = {
url: exports.INPUT_URL,
method: exports.INPUT_METHOD,
timeout: Number(exports.INPUT_TIMEOUT),
};
if (exports.INPUT_BASIC_AUTH_TOKEN) {
config.auth = builder.basicAuth();
}
if (exports.INPUT_HEADERS) {
config.headers = util_1.tryToParseJson(exports.INPUT_HEADERS);
}
if (exports.INPUT_PARAMS) {
config.params = util_1.tryToParseJson(exports.INPUT_PARAMS);
}
if (exports.INPUT_BODY) {
config.data = util_1.tryToParseJson(exports.INPUT_BODY);
}
if (exports.INPUT_BEARER_TOKEN) {
config.headers = __assign(__assign({}, config.headers), { Authorization: builder.bearerToken() });
}
if (exports.INPUT_PROXY_URL) {
config.proxy = builder.proxy();
}
if (exports.INPUT_ACCEPT) {
var accepts_1 = util_1.getAcceptedStatusCodes();
config.validateStatus = function (status) { return accepts_1.includes(status); };
}
exports.default = config;
//# sourceMappingURL=requestconf.js.map