pointsight/routes/error.route.js
2022-03-06 18:36:36 +01:00

59 lines
1.5 KiB
JavaScript

module.exports = function (app, jsonConfigGlobal, metaGlobals) {
const fs = require("fs");
const Eta = require("eta");
const util = require('util');
// Machine readable 404
app.get("/api/*", function (req, res) {
res.status(404);
res.setHeader("Content-Type", "application/json");
res.send(JSON.stringify({ state: "failed", message: "404-Unknown path" }));
});
// Users 404
app.get("*", function (req, res) {
res.status(404);
const data = fs.readFileSync("templates/error/404.eta", "utf8");
let debugData;
debugData = {
code: 404,
message: "Unknown path",
"Original url": req.originalUrl,
};
if (jsonConfigGlobal.env != "DEV") {
debugData = {};
}
res.send(
Eta.render(data, {
desc: metaGlobals.desc,
siteTitel: metaGlobals.titlePrefx + "404",
debug: debugData,
})
);
});
app.use(function (err, req, res, next) {
console.error(err.stack)
const data = fs.readFileSync("templates/error/serverError.eta", "utf8");
debugData = {trace: err.stack, avail: true}
if (jsonConfigGlobal.env != "DEV") {
debugData = {avail: false};
}
res.status(500)
res.send(
Eta.render(data, {
desc: metaGlobals.desc,
siteTitel: metaGlobals.titlePrefx + "500",
debug: debugData,
debugText: String(debugData.trace).replaceAll("\n", "<br>")
})
);
})
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500)
res.send("Something went very wrong.")
})
};