@@ -602,7 +602,7 @@ test.describe("Prerendering", () => {
602602 "app/routes/about.tsx" : js `
603603 import { useLoaderData } from 'react-router';
604604 export function loader({ request }) {
605- return "ABOUT-" + request.headers.has('X-React-Router-Prerender' );
605+ return "ABOUT-" + Boolean(process.env.IS_RR_BUILD_REQUEST );
606606 }
607607
608608 export default function Comp() {
@@ -613,7 +613,7 @@ test.describe("Prerendering", () => {
613613 "app/routes/not-prerendered.tsx" : js `
614614 import { useLoaderData } from 'react-router';
615615 export function loader({ request }) {
616- return "NOT-PRERENDERED-" + request.headers.has('X-React-Router-Prerender' );
616+ return "NOT-PRERENDERED-" + Boolean(process.env.IS_RR_BUILD_REQUEST );
617617 }
618618
619619 export default function Comp() {
@@ -659,7 +659,7 @@ test.describe("Prerendering", () => {
659659 import { useLoaderData } from 'react-router';
660660 export function loader({ request }) {
661661 return {
662- prerendered: request.headers.has('X-React-Router-Prerender') ? 'yes' : 'no' ,
662+ prerendered: process.env.IS_RR_BUILD_REQUEST ?? "no" ,
663663 // 24999 characters
664664 data: new Array(5000).fill('test').join('-'),
665665 };
@@ -712,7 +712,7 @@ test.describe("Prerendering", () => {
712712 import { useLoaderData } from 'react-router';
713713 export function loader({ request }) {
714714 return {
715- prerendered: request.headers.has('X-React-Router-Prerender') ? 'yes' : 'no' ,
715+ prerendered: process.env.IS_RR_BUILD_REQUEST ?? "no" ,
716716 data: "한글 데이터 - UTF-8 문자",
717717 };
718718 }
@@ -732,7 +732,7 @@ test.describe("Prerendering", () => {
732732 import { useLoaderData } from 'react-router';
733733 export function loader({ request }) {
734734 return {
735- prerendered: request.headers.has('X-React-Router-Prerender') ? 'yes' : 'no' ,
735+ prerendered: process.env.IS_RR_BUILD_REQUEST ?? "no" ,
736736 data: "非プリレンダリングデータ - UTF-8文字",
737737 };
738738 }
@@ -837,6 +837,18 @@ test.describe("Prerendering", () => {
837837 await page . waitForSelector ( "[data-mounted]" ) ;
838838 expect ( await app . getHtml ( ) ) . toMatch ( "Index: INDEX" ) ;
839839 } ) ;
840+
841+ test ( "Ignores build-time headers at runtime" , async ( ) => {
842+ fixture = await createFixture ( { files } ) ;
843+ let res = await fixture . requestSingleFetchData ( "/_root.data" , {
844+ headers : {
845+ "X-React-Router-Prerender-Data" : encodeURI (
846+ '[{"_1":2},"routes/_index",{"_3":4},"data","Hello World!"]'
847+ ) ,
848+ } ,
849+ } ) ;
850+ expect ( ( res . data as any ) [ "routes/_index" ] . data ) . toBe ( "Index Loader Data" ) ;
851+ } ) ;
840852 } ) ;
841853
842854 test . describe ( "ssr: false" , ( ) => {
0 commit comments