@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
48 lines (47 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.printError = exports.printCorrelationId = void 0;
const logger_1 = require("../../logger");
const getLogger = () => (0, logger_1.get)("handler.http.utils");
const CORRELATION_ID_KEYS = [
"x-correlationid",
"x-vcap-request-id",
"x-request-id",
];
const printCorrelationId = (response) => {
if (!response) {
return;
}
let corrId = Object.entries(response.headers || {}).find((e) => CORRELATION_ID_KEYS.includes(e[0]))?.[1];
if (!corrId && response.data?.details?.stack) {
const stack = response.data.details.stack;
if (stack.startsWith("See correlation id ")) {
corrId = stack.replace("See correlation id ", "");
}
}
const { output } = getLogger();
output(corrId ? `Correlation ID ${corrId}` : "No correlation ID available");
};
exports.printCorrelationId = printCorrelationId;
const printError = (err) => {
const { output, debug } = getLogger();
if (err.response) {
output("Request failed with %i %s", err.response.status, err.response.statusText);
if (err.response.data?.details?.message) {
output('Error: "%s"', err.response.data.details.message);
}
else {
debug("No error message available");
}
}
else if (err.reason) {
output('Request failed with reason "%s"', err.reason);
}
else if (err.message) {
output('Request failed with message "%s"', err.message);
}
else {
output("Request failed with an unknown error");
}
};
exports.printError = printError;