mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-08 04:50:12 +02:00
Move server directory outside of frontend src
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import { NextFunction, Request, Response } from 'express';
|
||||
import { isJsonString } from '@utils/is-json-string';
|
||||
|
||||
export const errorHandler = (
|
||||
err: any,
|
||||
req: Request,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
let message = '';
|
||||
|
||||
const trace = err.stack?.match(/at .* \(.*\)/g).map((e: string) => {
|
||||
return e.replace(/\(|\)/g, '');
|
||||
});
|
||||
|
||||
if (err.message) {
|
||||
message = isJsonString(err.message)
|
||||
? Array.isArray(JSON.parse(err.message))
|
||||
? JSON.parse(err.message)[0].message // Handles errors sent from zod preprocess
|
||||
: JSON.parse(err.message)
|
||||
: err.message;
|
||||
}
|
||||
|
||||
res.status(err.statusCode || 500).json({
|
||||
error: {
|
||||
message,
|
||||
path: req.path,
|
||||
trace,
|
||||
},
|
||||
response: 'Error',
|
||||
statusCode: err.statusCode || 500,
|
||||
});
|
||||
|
||||
next();
|
||||
};
|
||||
Reference in New Issue
Block a user