Move app to apps/web-react in pnpm workspace layout

This commit is contained in:
Kalle
2026-08-16 09:20:33 +03:00
parent 7e365ccfcf
commit bbc8ea57af
2913 changed files with 227 additions and 250 deletions

View File

@@ -0,0 +1,18 @@
import { AsyncLocalStorage } from "node:async_hooks";
interface SessionIdContext {
sessionId: string | undefined;
}
export const sessionIdAsyncLocalStorage =
new AsyncLocalStorage<SessionIdContext>();
function getSessionId(): string | undefined {
return sessionIdAsyncLocalStorage.getStore()?.sessionId;
}
declare global {
var __getServerSessionId: (() => string | undefined) | undefined;
}
globalThis.__getServerSessionId = getSessionId;

View File

@@ -0,0 +1,17 @@
import { sessionIdAsyncLocalStorage } from "./session-id-context.server";
type MiddlewareArgs = {
request: Request;
context: unknown;
};
type MiddlewareFn = (
args: MiddlewareArgs,
next: () => Promise<Response>,
) => Promise<Response>;
export const sessionIdMiddleware: MiddlewareFn = async ({ request }, next) => {
const sessionId = request.headers.get("Sendou-Session-Id") ?? undefined;
return sessionIdAsyncLocalStorage.run({ sessionId }, () => next());
};