import type { AppLoadContext, EntryContext } from '@remix-run/cloudflare'; import { RemixServer } from '@remix-run/react'; import { isbot } from 'isbot'; import { renderToReadableStream } from 'react-dom/server'; export default async function handleRequest( request: Request, responseStatusCode: number, responseHeaders: Headers, remixContext: EntryContext, _loadContext: AppLoadContext, ) { const body = await renderToReadableStream(, { signal: request.signal, onError(error: unknown) { console.error(error); responseStatusCode = 500; }, }); if (isbot(request.headers.get('user-agent') || '')) { await body.allReady; } responseHeaders.set('Content-Type', 'text/html'); responseHeaders.set('Cross-Origin-Embedder-Policy', 'require-corp'); responseHeaders.set('Cross-Origin-Opener-Policy', 'same-origin'); return new Response(body, { headers: responseHeaders, status: responseStatusCode, }); }