Files
cloudflare__vinext/tests/fixtures/pages-basic/pages/streaming-gssp-content-length.tsx
Jared Stowell f709e22209 fix: Pages Router SSR streaming (#514)
* fix pages router streaming

* handle regressions

* fix: align pages response merge behavior

* fix: drop stale worker content-length headers

* fix: preserve no-body rewrite parity

* fix: cancel streamed HEAD responses

* test: support merged prod server shape

* Fix compressed Pages SSR streaming

* Fix ecosystem fixture port collision
2026-03-21 22:44:45 -05:00

40 lines
1017 B
TypeScript

import React, { Suspense, lazy } from "react";
const DelayedChunk = lazy(
() =>
new Promise<{ default: React.ComponentType }>((resolve) => {
setTimeout(() => {
resolve({
default: function DelayedChunkImpl() {
return (
<div data-testid="gssp-streamed-content">Delayed gSSP stream content loaded</div>
);
},
});
}, 600);
}),
);
export async function getServerSideProps({
res,
}: {
res: { setHeader: (key: string, value: string) => void };
}) {
// Simulate a userland length that would be stale once the streamed HTML starts flowing.
res.setHeader("Content-Length", "1");
return { props: {} };
}
export default function StreamingGsspContentLengthPage() {
return (
<main>
<h1>Streaming gSSP Content-Length Test</h1>
<Suspense
fallback={<div data-testid="gssp-streaming-fallback">Loading delayed gSSP chunk...</div>}
>
<DelayedChunk />
</Suspense>
</main>
);
}