Skip to content

Commit 60fa088

Browse files
committed
Single Fetch: proxy request signal through on interrupted loader calls (Remix PR 9738)
1 parent 876e383 commit 60fa088

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

packages/react-router/lib/dom/ssr/single-fetch.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,13 @@ function singleFetchLoaderStrategy(
182182
m.resolve(async (handler): Promise<HandlerResult> => {
183183
let result: unknown;
184184
let url = stripIndexParam(singleFetchUrl(request.url));
185+
let init = await createRequestInit(request);
185186

186187
// When a route has a client loader, it calls it's singular server loader
187188
if (manifest.routes[m.route.id].hasClientLoader) {
188189
result = await handler(async () => {
189190
url.searchParams.set("_routes", m.route.id);
190-
let { data } = await fetchAndDecode(url);
191+
let { data } = await fetchAndDecode(url, init);
191192
return unwrapSingleFetchResults(
192193
data as SingleFetchResults,
193194
m.route.id
@@ -204,7 +205,7 @@ function singleFetchLoaderStrategy(
204205
matches.filter((m) => m.shouldLoad).map((m) => m.route),
205206
url
206207
);
207-
singleFetchPromise = fetchAndDecode(url).then(
208+
singleFetchPromise = fetchAndDecode(url, init).then(
208209
({ data }) => data as SingleFetchResults
209210
);
210211
}
@@ -304,7 +305,7 @@ export function singleFetchUrl(reqUrl: URL | string) {
304305
return url;
305306
}
306307

307-
async function fetchAndDecode(url: URL, init?: RequestInit) {
308+
async function fetchAndDecode(url: URL, init: RequestInit) {
308309
let res = await fetch(url, init);
309310
invariant(res.body, "No response body to decode");
310311
try {

0 commit comments

Comments
 (0)