From a5eff729c4934d83fb79b18f11ccd227e61d3bcf Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 7 Nov 2022 11:58:37 -0800 Subject: [PATCH] [next] Update rsc header handling --- packages/next/src/server-build.ts | 6 ++++-- packages/next/src/utils.ts | 11 +++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/next/src/server-build.ts b/packages/next/src/server-build.ts index 590a327b920..5fd88e9b63c 100644 --- a/packages/next/src/server-build.ts +++ b/packages/next/src/server-build.ts @@ -1137,6 +1137,8 @@ export async function serverBuild({ } } + const rscHeader = routesManifest.rsc?.header || '__rsc__'; + return { wildcard: wildcardConfig, images: @@ -1390,7 +1392,7 @@ export async function serverBuild({ has: [ { type: 'header', - key: '__rsc__', + key: rscHeader, }, ], dest: path.posix.join('/', entryDirectory, '/index.rsc'), @@ -1401,7 +1403,7 @@ export async function serverBuild({ has: [ { type: 'header', - key: '__rsc__', + key: rscHeader, }, ], dest: path.posix.join('/', entryDirectory, '/$1.rsc'), diff --git a/packages/next/src/utils.ts b/packages/next/src/utils.ts index c8a43b7906e..c1553fcf437 100644 --- a/packages/next/src/utils.ts +++ b/packages/next/src/utils.ts @@ -209,6 +209,10 @@ type RoutesManifestOld = { defaultLocale: string; }>; }; + rsc?: { + header: string; + varyHeader: string; + }; }; type RoutesManifestV4 = Omit & { @@ -1991,6 +1995,9 @@ export const onPrerenderRoute = allowQuery = []; } } + const rscVaryHeader = + routesManifest?.rsc?.varyHeader || + '__rsc__, __next_router_state_tree__, __next_router_prefetch__'; prerenders[outputPathPage] = new Prerender({ expiration: initialRevalidate, @@ -2008,7 +2015,7 @@ export const onPrerenderRoute = ...(isAppPathRoute ? { initialHeaders: { - vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__', + vary: rscVaryHeader, }, } : {}), @@ -2031,7 +2038,7 @@ export const onPrerenderRoute = ? { initialHeaders: { 'content-type': 'application/octet-stream', - vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__', + vary: rscVaryHeader, }, } : {}),