Files
webstudio/app/entry.server.tsx
T
2022-03-13 04:22:21 +00:00

24 lines
635 B
TypeScript

import { renderToString } from "react-dom/server";
import { RemixServer, type EntryContext } from "remix";
import { insertCriticalCss } from "./critical-css";
export default function handleRequest(
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
remixContext: EntryContext
) {
let markup = renderToString(
<RemixServer context={remixContext} url={request.url} />
);
markup = insertCriticalCss(markup, request.url);
responseHeaders.set("Content-Type", "text/html");
return new Response("<!DOCTYPE html>" + markup, {
status: responseStatusCode,
headers: responseHeaders,
});
}