fix: validate status and some security

This commit is contained in:
Wathanyu Phromma
2022-03-20 14:01:35 +07:00
parent 31d4a5f24b
commit a2c408c63d
387 changed files with 33710 additions and 4612 deletions

44
dist/index.js vendored
View File

@@ -1,36 +1,50 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var requestconf_1 = __importDefault(require("./requestconf"));
var requestconf_1 = __importStar(require("./requestconf"));
var core = __importStar(require("@actions/core"));
var fs = __importStar(require("fs"));
var util_1 = require("./util");
try {
if (core.getInput('custom-config')) {
var configPath = core.getInput('custom-config');
if (requestconf_1.INPUT_CUSTOM_CONFIG_FILE) {
core.info("Using custom axios config file");
var basePath = process.env.GITHUB_WORKSPACE;
var path = basePath + "/" + configPath;
core.info("Path is " + path);
if (configPath.split('.').pop() !== 'json') {
throw new Error('Config must be json file');
var path = "".concat(basePath, "/").concat(requestconf_1.INPUT_CUSTOM_CONFIG_FILE);
core.debug("Path is ".concat(path));
if (requestconf_1.INPUT_CUSTOM_CONFIG_FILE.split(".").pop() !== "json") {
throw new Error("Config must be json file");
}
if (!fs.existsSync(path)) {
throw new Error('Config file not found, meybe you need to use action/checkout before this step or there is typo on file name');
throw new Error("Config file not found, meybe you need to use action/checkout before this step or there is typo on file name");
}
var customConfig = JSON.parse(fs.readFileSync(path).toString());
util_1.sendRequestWithRetry(customConfig);
(0, util_1.sendRequestWithRetry)(customConfig);
}
else {
util_1.sendRequestWithRetry(requestconf_1.default);
core.info("Using config from action params");
(0, util_1.sendRequestWithRetry)(requestconf_1.default);
}
}
catch (err) {

2
dist/index.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,8DAAkC;AAClC,kDAAqC;AACrC,qCAAwB;AACxB,+BAA6C;AAG7C,IAAI;IACA,IAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAC;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAClD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,IAAM,IAAI,GAAM,QAAQ,SAAI,UAAY,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAW,IAAM,CAAC,CAAC;QAC7B,IAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC9C;QACD,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAA;SACjI;QACD,IAAI,YAAY,GAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAuB,CAAC;QAC3G,2BAAoB,CAAC,YAAY,CAAC,CAAA;KACrC;SAAI;QACD,2BAAoB,CAAC,qBAAM,CAAC,CAAA;KAC/B;CACJ;AAAC,OAAO,GAAG,EAAE;IACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CAC/B"}
{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAAiE;AACjE,kDAAsC;AACtC,qCAAyB;AACzB,+BAA8C;AAE9C,IAAI;IACF,IAAI,sCAAwB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5C,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,IAAM,IAAI,GAAG,UAAG,QAAQ,cAAI,sCAAwB,CAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,kBAAW,IAAI,CAAE,CAAC,CAAC;QAC9B,IAAK,sCAAmC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE;YACpE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;SACH;QACD,IAAM,YAAY,GAAuB,IAAI,CAAC,KAAK,CACjD,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CACX,CAAC;QACxB,IAAA,2BAAoB,EAAC,YAAY,CAAC,CAAC;KACpC;SAAM;QACL,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7C,IAAA,2BAAoB,EAAC,qBAAM,CAAC,CAAC;KAC9B;CACF;AAAC,OAAO,GAAG,EAAE;IACZ,IAAI,CAAC,SAAS,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;CACxC"}

30
dist/output.js vendored
View File

@@ -1,23 +1,39 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var requestconf_1 = require("./requestconf");
var core = __importStar(require("@actions/core"));
var util = __importStar(require("./util"));
var setOutput = function (res) {
if (!res) {
throw new Error('No response from request');
throw new Error("No response from request");
}
util.validateStatusCode(res.status.toString());
if (core.getInput('is_debug') === 'true') {
core.info(util.buildOutput(res));
if (requestconf_1.INPUT_LOG_RESPONSE) {
core.info("Response: ".concat(util.buildOutput(res)));
}
core.setOutput('response', util.buildOutput(res));
core.setOutput("response", util.buildOutput(res));
};
exports.default = setOutput;
//# sourceMappingURL=output.js.map

2
dist/output.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"output.js","sourceRoot":"./src/","sources":["output.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAqC;AACrC,2CAA8B;AAG9B,IAAM,SAAS,GAAG,UAAC,GAA+B;IAC9C,IAAG,CAAC,GAAG,EAAC;QACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;KAC9C;IACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,MAAM,EAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;KACpC;IACD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC,CAAA;AAGD,kBAAe,SAAS,CAAA"}
{"version":3,"file":"output.js","sourceRoot":"./src/","sources":["output.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,kDAAsC;AACtC,2CAA+B;AAG/B,IAAM,SAAS,GAAG,UAAC,GAA8B;IAC/C,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,IAAI,gCAAkB,EAAE;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAa,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;KACjD;IACD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}

109
dist/requestconf.js vendored
View File

@@ -10,89 +10,132 @@ var __assign = (this && this.__assign) || function () {
};
return __assign.apply(this, arguments);
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.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 authArr = core.getInput('basic-auth').trim().split(':');
if (authArr.length !== 2) {
throw new Error('basic-auth format is invalid. The valid format should be username:password.');
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: authArr[0],
password: authArr[1]
username: basicAuthArr[0],
password: basicAuthArr[1],
};
},
bearerToken: function () {
return "Bearer " + core.getInput('bearer-token');
return "Bearer ".concat(exports.INPUT_BEARER_TOKEN);
},
proxy: function () {
var proxy;
if (core.getInput('proxy-url').includes('//')) {
var proxyUrlArr = core.getInput('proxy-url').replace('//', '').trim().split(':');
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.');
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])
port: Number(proxyUrlArr[2]),
};
}
else {
var proxyUrlArr = core.getInput('proxy-url').trim().split(':');
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.');
throw new Error("proxy-url format is invalid. The valid format should be host:port.");
}
proxy = {
host: proxyUrlArr[0],
port: Number(proxyUrlArr[1])
port: Number(proxyUrlArr[1]),
};
}
if (core.getInput('proxy-auth')) {
var proxyAuthArr = core.getInput('proxy-auth').trim().split(':');
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.');
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]
password: proxyAuthArr[1],
};
}
return proxy;
}
},
};
// Request config
// Request config
var config = {
url: core.getInput('url'),
method: core.getInput('method'),
timeout: Number(core.getInput('timeout'))
url: exports.INPUT_URL,
method: exports.INPUT_METHOD,
timeout: Number(exports.INPUT_TIMEOUT),
};
if (core.getInput('basic-auth')) {
if (exports.INPUT_BASIC_AUTH_TOKEN) {
config.auth = builder.basicAuth();
}
if (core.getInput('headers')) {
config.headers = JSON.parse(core.getInput('headers'));
if (exports.INPUT_HEADERS) {
config.headers = (0, util_1.tryToParseJson)(exports.INPUT_HEADERS);
}
if (core.getInput('params')) {
config.params = JSON.parse(core.getInput('params'));
if (exports.INPUT_PARAMS) {
config.params = (0, util_1.tryToParseJson)(exports.INPUT_PARAMS);
}
if (core.getInput('body')) {
config.data = core.getInput('body');
if (exports.INPUT_BODY) {
config.data = (0, util_1.tryToParseJson)(exports.INPUT_BODY);
}
if (core.getInput('bearer-token')) {
if (exports.INPUT_BEARER_TOKEN) {
config.headers = __assign(__assign({}, config.headers), { Authorization: builder.bearerToken() });
}
if (core.getInput('proxy-url')) {
if (exports.INPUT_PROXY_URL) {
config.proxy = builder.proxy();
}
if (exports.INPUT_ACCEPT) {
var accepts_1 = (0, util_1.getAcceptedStatusCodes)();
config.validateStatus = function (status) { return accepts_1.includes(status); };
}
exports.default = config;
//# sourceMappingURL=requestconf.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"requestconf.js","sourceRoot":"./src/","sources":["requestconf.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"requestconf.js","sourceRoot":"./src/","sources":["requestconf.ts"],"names":[],"mappings":"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"}

143
dist/util.js vendored
View File

@@ -1,4 +1,27 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,76 +58,86 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendRequestWithRetry = exports.tryToParseJson = exports.buildOutput = exports.getAcceptedStatusCodes = void 0;
var requestconf_1 = require("./requestconf");
var core = __importStar(require("@actions/core"));
var axios_1 = __importDefault(require("axios"));
var output_1 = __importDefault(require("./output"));
exports.validateStatusCode = function (actualStatusCode) {
var acceptedStatusCode = core.getInput('accept')
.split(",").filter(function (x) { return x !== ""; })
var rax = __importStar(require("retry-axios"));
var yaml = __importStar(require("js-yaml"));
var getAcceptedStatusCodes = function () {
var acceptedStatusCodes = requestconf_1.INPUT_ACCEPT
.split(",")
.filter(function (x) { return x !== ""; })
.map(function (x) { return x.trim(); });
if (!acceptedStatusCode.includes(actualStatusCode)) {
throw new Error("The accepted status code is " + acceptedStatusCode + " but got " + actualStatusCode);
var output = [];
for (var _i = 0, acceptedStatusCodes_1 = acceptedStatusCodes; _i < acceptedStatusCodes_1.length; _i++) {
var acceptedStatusCode = acceptedStatusCodes_1[_i];
if (isNaN(Number(acceptedStatusCode))) {
throw new Error("Accept status ".concat(acceptedStatusCode, " is invalid"));
}
output.push(Number(acceptedStatusCode));
}
return output;
};
exports.buildOutput = function (res) {
exports.getAcceptedStatusCodes = getAcceptedStatusCodes;
var buildOutput = function (res) {
return JSON.stringify({
"status_code": res.status,
"data": res.data,
"headers": res.headers
status_code: res.status,
data: res.data,
headers: res.headers,
});
};
exports.sendRequestWithRetry = function (config) { return __awaiter(void 0, void 0, void 0, function () {
var exit, countRetry, retryArr, numberOfRetry, backoff, res, err_1;
exports.buildOutput = buildOutput;
var tryToParseJson = function (data) {
var output = data;
// try to parse json directly
try {
output = JSON.parse(data);
return output;
}
catch (_a) {
// do nothing
}
// try to parse json from yaml
try {
output = yaml.load(data, { json: true });
return output;
}
catch (_b) {
// do nothing
}
return data;
};
exports.tryToParseJson = tryToParseJson;
var sendRequestWithRetry = function (config) { return __awaiter(void 0, void 0, void 0, function () {
var client;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
exit = false;
countRetry = 0;
retryArr = core.getInput('retry').split('/');
numberOfRetry = Number(retryArr[0]);
backoff = Number(retryArr[1]);
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 7]);
return [4 /*yield*/, axios_1.default(config)];
case 2:
res = _a.sent();
output_1.default(res);
exit = true;
return [3 /*break*/, 7];
case 3:
err_1 = _a.sent();
countRetry += 1;
if (!(countRetry <= numberOfRetry)) return [3 /*break*/, 5];
core.info("retry: " + countRetry);
return [4 /*yield*/, sleep(backoff * 1000)];
case 4:
_a.sent();
return [3 /*break*/, 6];
case 5:
exit = true;
core.setFailed(err_1);
_a.label = 6;
case 6: return [3 /*break*/, 7];
case 7:
if (!exit) return [3 /*break*/, 1];
_a.label = 8;
case 8: return [2 /*return*/];
client = axios_1.default.create();
if (requestconf_1.INPUT_RETRIES) {
if (isNaN(Number(requestconf_1.INPUT_RETRIES))) {
throw new Error("retries should be number");
}
client.defaults.raxConfig = {
instance: client,
retry: Number(requestconf_1.INPUT_RETRIES),
onRetryAttempt: function (err) {
var cfg = rax.getConfig(err);
core.info("Retry attempt #".concat(cfg === null || cfg === void 0 ? void 0 : cfg.currentRetryAttempt));
},
};
rax.attach(client);
}
client
.request(config)
.then(function (resp) { return (0, output_1.default)(resp); })
.catch(function (err) { return core.setFailed(err); });
return [2 /*return*/];
});
}); };
function sleep(ms) {
return new Promise(function (resolve) { return setTimeout(resolve, ms); });
}
exports.sendRequestWithRetry = sendRequestWithRetry;
//# sourceMappingURL=util.js.map

2
dist/util.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"util.js","sourceRoot":"./src/","sources":["util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAqC;AACrC,gDAAgE;AAChE,oDAAgC;AAEnB,QAAA,kBAAkB,GAAG,UAAC,gBAAwB;IACvD,IAAM,kBAAkB,GAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACvD,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,EAAE,EAAR,CAAQ,CAAC;SAChC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC;IACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,iCAA+B,kBAAkB,iBAAY,gBAAkB,CAAC,CAAA;KACnG;AACL,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG,UAAC,GAAuB;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,aAAa,EAAE,GAAG,CAAC,MAAM;QACzB,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,SAAS,EAAE,GAAG,CAAC,OAAO;KACzB,CAAC,CAAA;AACN,CAAC,CAAA;AAEY,QAAA,oBAAoB,GAAG,UAAO,MAA0B;;;;;gBAC7D,IAAI,GAAG,KAAK,CAAA;gBACZ,UAAU,GAAG,CAAC,CAAA;gBACZ,QAAQ,GAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtD,aAAa,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3C,OAAO,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;;;;gBAGvB,qBAAM,eAAK,CAAC,MAAM,CAAC,EAAA;;gBAAzB,GAAG,GAAG,SAAmB;gBAC/B,gBAAS,CAAC,GAAG,CAAC,CAAA;gBACd,IAAI,GAAG,IAAI,CAAA;;;;gBAEX,UAAU,IAAI,CAAC,CAAA;qBACX,CAAA,UAAU,IAAI,aAAa,CAAA,EAA3B,wBAA2B;gBAC3B,IAAI,CAAC,IAAI,CAAC,YAAU,UAAY,CAAC,CAAA;gBACjC,qBAAM,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,EAAA;;gBAA3B,SAA2B,CAAA;;;gBAE3B,IAAI,GAAG,IAAI,CAAA;gBACX,IAAI,CAAC,SAAS,CAAC,KAAG,CAAC,CAAA;;;;oBAGtB,CAAC,IAAI;;;;;KACjB,CAAA;AAED,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;AAC3D,CAAC"}
{"version":3,"file":"util.js","sourceRoot":"./src/","sources":["util.ts"],"names":[],"mappings":"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"}