Skip to content

Commit 8bdd2f8

Browse files
authoredMay 17, 2022
fix: change how request is "cloned" for loaders (#3218)
* fix: change how request is "cloned" for loaders * removed derrived properties from init
1 parent 50b41e1 commit 8bdd2f8

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { json } from "../responses";
2+
import { createRequestHandler } from "../server";
3+
4+
describe("createRequestHandler", () => {
5+
it("retains request headers when stripping body off for loaders", async () => {
6+
let handler = createRequestHandler({
7+
routes: {
8+
root: {
9+
id: "routes/test",
10+
path: "/test",
11+
module: {
12+
loader: ({ request }) => json(request.headers.get("X-Foo")),
13+
} as any,
14+
},
15+
},
16+
assets: {} as any,
17+
entry: { module: {} as any },
18+
});
19+
20+
let response = await handler(
21+
new Request("http://.../test", {
22+
headers: {
23+
"X-Foo": "bar",
24+
},
25+
})
26+
);
27+
28+
expect(await response.json()).toBe("bar");
29+
});
30+
});

‎packages/remix-server-runtime/server.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,11 @@ async function handleDocumentRequest({
294294
}
295295

296296
let loaderRequest = new Request(request.url, {
297-
...request,
298297
body: null,
298+
headers: request.headers,
299+
method: request.method,
300+
redirect: request.redirect,
301+
signal: request.signal,
299302
});
300303

301304
let routeLoaderResults = await Promise.allSettled(

0 commit comments

Comments
 (0)
Please sign in to comment.