MCPcopy Create free account
hub / github.com/CommandCodeAI/BaseAI / handleBrowserRequest

Function handleBrowserRequest

examples/remix/app/entry.server.tsx:92–140  ·  view source on GitHub ↗
(
  request: Request,
  responseStatusCode: number,
  responseHeaders: Headers,
  remixContext: EntryContext
)

Source from the content-addressed store, hash-verified

90}
91
92function handleBrowserRequest(
93 request: Request,
94 responseStatusCode: number,
95 responseHeaders: Headers,
96 remixContext: EntryContext
97) {
98 return new Promise((resolve, reject) => {
99 let shellRendered = false;
100 const { pipe, abort } = renderToPipeableStream(
101 <RemixServer
102 context={remixContext}
103 url={request.url}
104 abortDelay={ABORT_DELAY}
105 />,
106 {
107 onShellReady() {
108 shellRendered = true;
109 const body = new PassThrough();
110 const stream = createReadableStreamFromReadable(body);
111
112 responseHeaders.set("Content-Type", "text/html");
113
114 resolve(
115 new Response(stream, {
116 headers: responseHeaders,
117 status: responseStatusCode,
118 })
119 );
120
121 pipe(body);
122 },
123 onShellError(error: unknown) {
124 reject(error);
125 },
126 onError(error: unknown) {
127 responseStatusCode = 500;
128 // Log streaming rendering errors from inside the shell. Don't log
129 // errors encountered during initial shell rendering since they'll
130 // reject and get logged in handleDocumentRequest.
131 if (shellRendered) {
132 console.error(error);
133 }
134 },
135 }
136 );
137
138 setTimeout(abort, ABORT_DELAY);
139 });
140}

Callers 1

handleRequestFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected