UNPKG

@redwoodjs/sdk

Version:

A full-stack webapp toolkit designed for TypeScript, Vite, and React Server Components

16 lines (15 loc) 755 B
import { route } from "../../entries/router"; import { validateUpgradeRequest } from "./validateUpgradeRequest"; import { DEFAULT_REALTIME_KEY } from "./constants"; export { renderRealtimeClients } from "./renderRealtimeClients"; export const realtimeRoute = (getDurableObjectNamespace) => route("/__realtime", async function ({ request, env }) { const validation = validateUpgradeRequest(request); if (!validation.valid) { return validation.response; } const url = new URL(request.url); const key = url.searchParams.get("key") || DEFAULT_REALTIME_KEY; const id = getDurableObjectNamespace(env).idFromName(key); const durableObject = getDurableObjectNamespace(env).get(id); return durableObject.fetch(request); });