added api logic, vitest, minimal testing ui
This commit is contained in:
15
api/src/plugins/request-id.ts
Normal file
15
api/src/plugins/request-id.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
// api/src/plugins/request-id.ts
|
||||
import type { FastifyPluginCallback } from "fastify";
|
||||
import { randomUUID } from "crypto";
|
||||
|
||||
const requestIdPlugin: FastifyPluginCallback = (app, _opts, done) => {
|
||||
app.addHook("onRequest", async (req, reply) => {
|
||||
const incoming = (req.headers["x-request-id"] as string | undefined)?.trim();
|
||||
const id = incoming && incoming.length > 0 ? incoming : randomUUID();
|
||||
(req as any).id = id; // attach to request
|
||||
reply.header("x-request-id", id); // echo on response
|
||||
});
|
||||
done();
|
||||
};
|
||||
|
||||
export default requestIdPlugin;
|
||||
Reference in New Issue
Block a user