@starship-ci/client
Version:
Starship CI Client
47 lines (46 loc) • 1.47 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyExplorerRest = void 0;
const axios_1 = __importDefault(require("axios"));
const utils_1 = require("../utils");
const verifyExplorerRest = async (explorer) => {
const port = explorer.ports?.rest;
const result = {
service: 'explorer',
endpoint: 'rest',
status: 'failure'
};
if (!port) {
result.status = 'skipped';
result.error = 'Port not found';
return result;
}
try {
const response = await axios_1.default.get(`http://localhost:${port}`, {
headers: {
Accept: 'text/html'
}
});
result.details = response.data;
if (response.status !== 200) {
result.error = 'Failed to get explorer status';
return result;
}
if (response.data.includes('Ping Dashboard')) {
result.status = 'success';
result.message = 'Explorer is working';
return result;
}
result.status = 'failure';
result.error = 'Explorer is not working';
return result;
}
catch (error) {
result.error = (0, utils_1.handleAxiosError)(error);
return result;
}
};
exports.verifyExplorerRest = verifyExplorerRest;