20 lines
559 B
TypeScript
20 lines
559 B
TypeScript
|
import { renderToString } from "react-dom/server";
|
||
|
import type { EntryContext } from "@remix-run/node";
|
||
|
import { RemixServer } from "@remix-run/react";
|
||
|
|
||
|
export default function handleRequest(
|
||
|
request: Request,
|
||
|
responseStatusCode: number,
|
||
|
responseHeaders: Headers,
|
||
|
remixContext: EntryContext,
|
||
|
) {
|
||
|
const markup = renderToString(<RemixServer context={remixContext} url={request.url} />);
|
||
|
|
||
|
responseHeaders.set("Content-Type", "text/html");
|
||
|
|
||
|
return new Response("<!DOCTYPE html>" + markup, {
|
||
|
status: responseStatusCode,
|
||
|
headers: responseHeaders,
|
||
|
});
|
||
|
}
|