MCPcopy Create free account
hub / github.com/fontsource/fontsource / handleRequest

Function handleRequest

website/app/entry.server.tsx:6–43  ·  view source on GitHub ↗
(
	request: Request,
	responseStatusCode: number,
	responseHeaders: Headers,
	routerContext: EntryContext,
	_loadContext: AppLoadContext,
)

Source from the content-addressed store, hash-verified

4import { ServerRouter } from 'react-router';
5
6export default async function handleRequest(
7 request: Request,
8 responseStatusCode: number,
9 responseHeaders: Headers,
10 routerContext: EntryContext,
11 _loadContext: AppLoadContext,
12) {
13 let shellRendered = false;
14 const userAgent = request.headers.get('user-agent');
15
16 const body = await renderToReadableStream(
17 <ServerRouter context={routerContext} url={request.url} />,
18 {
19 onError(error: unknown) {
20 responseStatusCode = 500;
21 // Log streaming rendering errors from inside the shell. Don't log
22 // errors encountered during initial shell rendering since they'll
23 // reject and get logged in handleDocumentRequest.
24 if (shellRendered) {
25 console.error(error);
26 }
27 },
28 },
29 );
30 shellRendered = true;
31
32 // Ensure requests from bots and SPA Mode renders wait for all content to load before responding
33 // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation
34 if ((userAgent && isbot(userAgent)) || routerContext.isSpaMode) {
35 await body.allReady;
36 }
37
38 responseHeaders.set('Content-Type', 'text/html');
39 return new Response(body, {
40 headers: responseHeaders,
41 status: responseStatusCode,
42 });
43}

Callers

nothing calls this directly

Calls 2

setMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected