-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.ts
27 lines (22 loc) · 924 Bytes
/
server.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
export { Remix } from "./app/remix.server";
export { Session } from "./app/session.server";
export { Game } from "./app/game.server";
import { logDevReady } from "@remix-run/cloudflare";
import * as build from "@remix-run/dev/server-build";
import { createActorKitRouter } from "actor-kit/worker";
import { WorkerEntrypoint } from "cloudflare:workers";
import type { Env } from "./app/env";
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
if (process.env.NODE_ENV === "development") {
logDevReady(build);
}
const router = createActorKitRouter<Env>(["session", "game"]);
export default class Worker extends WorkerEntrypoint<Env> {
fetch(request: Request): Promise<Response> | Response {
if (request.url.includes("/api/")) {
return router(request, this.env, this.ctx);
}
const id = this.env.REMIX.idFromName("default");
return this.env.REMIX.get(id).fetch(request);
}
}