@practica/create-node-app
Version:
Create Node.js app that is packed with best practices AND strive for simplicity
19 lines (16 loc) • 523 B
text/typescript
import { fastifyRequestContext } from '@fastify/request-context';
import { FastifyInstance } from 'fastify';
import { randomUUID } from 'node:crypto';
export async function requestContextPlugin(app: FastifyInstance) {
app.register(fastifyRequestContext, {
defaultStoreValues: { requestId: '' },
});
app.addHook('preValidation', async () => {
app.requestContext.set('requestId', randomUUID());
});
}
declare module '@fastify/request-context' {
interface RequestContextData {
requestId: string;
}
}