GSI - Employe Self Service Mobile
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

58 lines
1.5 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.responseToError = void 0;
const _ = require("lodash");
const error_1 = require("./error");
function responseToError(response, body) {
if (response.statusCode < 400) {
return;
}
if (typeof body === "string") {
if (response.statusCode === 404) {
body = {
error: {
message: "Not Found",
},
};
}
else {
body = {
error: {
message: body,
},
};
}
}
if (typeof body !== "object") {
try {
body = JSON.parse(body);
}
catch (e) {
body = {};
}
}
if (!body.error) {
const errMessage = response.statusCode === 404 ? "Not Found" : "Unknown Error";
body.error = {
message: errMessage,
};
}
const message = "HTTP Error: " + response.statusCode + ", " + (body.error.message || body.error);
let exitCode;
if (response.statusCode >= 500) {
exitCode = 2;
}
else {
exitCode = 1;
}
_.unset(response, "request.headers");
return new error_1.FirebaseError(message, {
context: {
body: body,
response: response,
},
exit: exitCode,
status: response.statusCode,
});
}
exports.responseToError = responseToError;