diff --git a/packages/next/src/server/lib/patch-fetch.ts b/packages/next/src/server/lib/patch-fetch.ts index 3ee5873f75e8b..843f40353a7a9 100644 --- a/packages/next/src/server/lib/patch-fetch.ts +++ b/packages/next/src/server/lib/patch-fetch.ts @@ -236,8 +236,9 @@ export function patchFetch({ typeof (input as Request).method === 'string' const getRequestMeta = (field: string) => { - let value = isRequestInput ? (input as any)[field] : null - return value || (init as any)?.[field] + // If request input is present but init is not, retrieve from input first. + const value = (init as any)?.[field] + return value || (isRequestInput ? (input as any)[field] : null) } // If the staticGenerationStore is not available, we can't do any diff --git a/test/e2e/app-dir/logging/app/fetch-no-store/page.js b/test/e2e/app-dir/logging/app/fetch-no-store/page.js new file mode 100644 index 0000000000000..df09454b4c975 --- /dev/null +++ b/test/e2e/app-dir/logging/app/fetch-no-store/page.js @@ -0,0 +1,12 @@ +export default async function Page() { + await fetch( + new Request( + 'https://next-data-api-endpoint.vercel.app/api/random?request-input' + ), + { + cache: 'no-store', + } + ) + + return