mirror of
https://git.mirrors.martin98.com/https://github.com/cyberman54/curl
synced 2026-04-06 02:53:14 +08:00
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { AxiosRequestConfig } from "axios";
|
|
import config, { INPUT_CUSTOM_CONFIG_FILE } from "./requestconf";
|
|
import * as core from "@actions/core";
|
|
import * as fs from "fs";
|
|
import { sendRequestWithRetry } from "./util";
|
|
|
|
try {
|
|
if (INPUT_CUSTOM_CONFIG_FILE) {
|
|
core.info(`Using custom axios config file`);
|
|
const basePath = process.env.GITHUB_WORKSPACE;
|
|
const path = `${basePath}/${INPUT_CUSTOM_CONFIG_FILE}`;
|
|
core.debug(`Path is ${path}`);
|
|
if ((INPUT_CUSTOM_CONFIG_FILE as string).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"
|
|
);
|
|
}
|
|
const customConfig: AxiosRequestConfig = JSON.parse(
|
|
fs.readFileSync(path).toString()
|
|
) as AxiosRequestConfig;
|
|
sendRequestWithRetry(customConfig);
|
|
} else {
|
|
core.info(`Using config from action params`);
|
|
sendRequestWithRetry(config);
|
|
}
|
|
} catch (err) {
|
|
core.setFailed((err as Error).message);
|
|
}
|