mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-25 03:44:29 -05:00
21 lines
442 B
TypeScript
21 lines
442 B
TypeScript
import {
|
|
getUserFromRequest,
|
|
userAsyncLocalStorage,
|
|
} from "./user-context.server";
|
|
|
|
type MiddlewareArgs = {
|
|
request: Request;
|
|
context: unknown;
|
|
};
|
|
|
|
type MiddlewareFn = (
|
|
args: MiddlewareArgs,
|
|
next: () => Promise<Response>,
|
|
) => Promise<Response>;
|
|
|
|
export const userMiddleware: MiddlewareFn = async ({ request }, next) => {
|
|
const user = await getUserFromRequest(request);
|
|
|
|
return userAsyncLocalStorage.run({ user }, () => next());
|
|
};
|