Error hander extension of the Maeum boilerplate.
npm i @maeum/error-controller --save
@maeum/error-controller
create error handler for fastify.setErrorHandler
function.
server.setErrorHandler(
errorHandler([], {
[CE_MAEUM_DEFAULT_ERROR_HANDLER.COMMON]: (req, id, param) => getLocales(req.headers['accept-language']).t(id, param),
[CE_MAEUM_DEFAULT_ERROR_HANDLER.DEFAULT_REST_ERROR]: (req, id, param) => getLocales(req.headers['accept-language']).t(id, param),
}, {
hooks: {
[CE_MAEUM_DEFAULT_ERROR_HANDLER.COMMON]: {
pre: (err: Error & { validation?: ErrorObject[] }, req: FastifyRequest) => {
req.setRequestError(err);
},
},
},
encryptor: (code: string): string => {
if (
config.server.runMode === CE_RUN_MODE.STAGE ||
config.server.runMode === CE_RUN_MODE.PRODUCTION
) {
return encrypt(code);
}
return code;
},
}),
);