seed data

This commit is contained in:
2025-12-26 23:53:47 +01:00
parent 64661d903e
commit b68405aa46
9 changed files with 289 additions and 48 deletions

View File

@@ -0,0 +1,26 @@
import { AsyncLocalStorage } from 'node:async_hooks';
import type { NextFunction, Request, Response } from 'express';
export type HttpRequestContext = {
req: Request;
res: Response;
};
const requestContextStorage = new AsyncLocalStorage<HttpRequestContext>();
export function tryGetHttpRequestContext(): HttpRequestContext | null {
return requestContextStorage.getStore() ?? null;
}
export function getHttpRequestContext(): HttpRequestContext {
const ctx = tryGetHttpRequestContext();
if (!ctx) {
throw new Error('HttpRequestContext is not available (missing requestContextMiddleware)');
}
return ctx;
}
export function requestContextMiddleware(req: Request, res: Response, next: NextFunction): void {
requestContextStorage.run({ req, res }, next);
}