2024-03-29 20:08:34 -04:00
|
|
|
const AppError = require("./AppError");
|
|
|
|
|
const fs = require('fs');
|
|
|
|
|
|
2025-01-26 21:50:57 -05:00
|
|
|
const errorHandler = (error, req, res, _next) => {
|
2025-02-26 14:07:18 -05:00
|
|
|
res.setHeader('Cache-Control', 'no-store');
|
2025-02-27 01:03:56 -05:00
|
|
|
|
2024-03-29 20:08:34 -04:00
|
|
|
if (error instanceof AppError) {
|
2025-02-26 14:07:18 -05:00
|
|
|
return res.status(error.statusCode).json({
|
|
|
|
|
message: error.message,
|
|
|
|
|
code: error.statusCode
|
|
|
|
|
});
|
2024-03-29 20:08:34 -04:00
|
|
|
}
|
2025-03-02 01:56:37 -05:00
|
|
|
|
|
|
|
|
logError(error.stack);
|
|
|
|
|
return res.status(505).send("Oups! We screwed up big time. ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻");
|
2025-02-26 14:07:18 -05:00
|
|
|
};
|
2024-03-29 20:08:34 -04:00
|
|
|
|
2025-03-02 01:56:37 -05:00
|
|
|
const logError = (error) => {
|
|
|
|
|
const time = new Date();
|
|
|
|
|
var log_file = fs.createWriteStream(__dirname + '/../debug.log', {flags : 'a'});
|
|
|
|
|
log_file.write(time + '\n' + error + '\n\n');
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-29 20:08:34 -04:00
|
|
|
module.exports = errorHandler;
|