Add request cookie to HMR reload pipeline
This commit is contained in:
@@ -13,6 +13,8 @@ function removeController(controller: ReadableStreamDefaultController<string>) {
|
||||
|
||||
export default async function ({ req }: Params): Promise<Response> {
|
||||
const referer = req.headers.get("referer");
|
||||
const page_cookie = req.headers.get("cookie");
|
||||
|
||||
if (!referer) {
|
||||
return new Response("Missing Referer Header", { status: 400 });
|
||||
}
|
||||
@@ -39,6 +41,7 @@ export default async function ({ req }: Params): Promise<Response> {
|
||||
controller: c,
|
||||
page_url: referer_url.href,
|
||||
target_map,
|
||||
page_cookie,
|
||||
});
|
||||
heartbeat = setInterval(() => {
|
||||
try {
|
||||
|
||||
@@ -47,10 +47,13 @@ export default async function serverPostBuildFn(params?: Params) {
|
||||
}
|
||||
|
||||
const mock_req = target_artifact.req_url
|
||||
? new Request(target_artifact.req_url)
|
||||
? new Request(target_artifact.req_url, {})
|
||||
: new Request(controller.page_url);
|
||||
|
||||
// Always re-run server fns so fixed errors clear on the first HMR
|
||||
if (controller.page_cookie) {
|
||||
mock_req.headers.set("cookie", controller.page_cookie);
|
||||
}
|
||||
|
||||
const page_component = await grabPageComponent({
|
||||
req: mock_req,
|
||||
return_server_res_only: true,
|
||||
|
||||
@@ -353,6 +353,7 @@ export type GlobalHMRControllerObject = {
|
||||
target_map?: BundlerCTXMap;
|
||||
page_props?: any;
|
||||
page_reloaded?: boolean;
|
||||
page_cookie?: string | null;
|
||||
};
|
||||
|
||||
export type BunextCacheFileMeta = {
|
||||
|
||||
Reference in New Issue
Block a user