@opengis/fastify-table
Version:
core-plugins
27 lines (22 loc) • 840 B
JavaScript
import errorMessage from './errorMessage.js';
import logger from './getLogger.js';
import pgClients from '../pg/pgClients.js';
async function plugin(fastify) {
fastify.setErrorHandler(async (error, request, reply) => {
// validation not error
if (error.validation) {
request.log.warn(request, { code: error?.code, status: 422, error: error.toString() });
return reply.status(422).send(error.toString());
}
// logger
request.log.error(error, request);
console.error({ msg: error.message, where: error.where, stack: error.stack });
// errorMessage
const msg = errorMessage(error);
return reply.status(error.statusCode || 500).send(msg);
});
fastify.addHook('onListen', async () => {
logger.file('init', { db: pgClients.client?.options?.database });
});
}
export default plugin;