Spaces:
Running
Running
File size: 588 Bytes
98c9143 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import type { MiddlewareHandler } from "hono"
import { requestContext, resolveTraceId } from "./request-context"
export const traceIdMiddleware: MiddlewareHandler = async (c, next) => {
const traceId = resolveTraceId(c.req.header("x-trace-id"))
c.header("x-trace-id", traceId)
const context = {
traceId,
startTime: Date.now(),
userAgent: c.req.header("user-agent") || "",
sessionAffinity: c.req.header("x-session-affinity"),
parentSessionId: c.req.header("x-parent-session-id"),
}
await requestContext.run(context, async () => {
await next()
})
}
|