UNPKG

@lokalise/fastify-extras

Version:

Opinionated set of fastify plugins, commonly used in Lokalise

29 lines 863 B
import { randomUUID } from 'node:crypto'; import fp from 'fastify-plugin'; export function getRequestIdFastifyAppConfig() { return { genReqId: () => randomUUID(), requestIdHeader: 'x-request-id', }; } function plugin(fastify, _opts, done) { fastify.addHook('onRequest', function onRequestContextProvider(req, _res, next) { req.reqContext = { logger: req.log.child({ 'x-request-id': req.id, }), reqId: req.id, }; next(); }); fastify.addHook('onSend', (req, res, _payload, next) => { void res.header('x-request-id', req.id); next(); }); done(); } export const requestContextProviderPlugin = fp(plugin, { fastify: '5.x', name: 'request-context-provider-plugin', }); //# sourceMappingURL=requestContextProviderPlugin.js.map