Files
open-gsio/packages/client/server/index.ts
geoffsee f9249f3496 - Refactored to introduce handleSsr function in @open-gsio/client/server/index.ts for streamlined SSR handling.
- Replaced inline SSR logic in `AssetService.ts` with `handleSsr` import.
- Enhanced `build:client` script to ensure server directory creation.
- Updated dependencies and devDependencies across multiple packages for compatibility improvements.
2025-06-25 16:03:13 -04:00

21 lines
611 B
TypeScript

import { renderPage } from 'vike/server';
// This is what makes SSR possible. It is consumed by @open-gsio/server
export { handleSsr };
async function handleSsr(url: string, headers: Headers) {
const pageContextInit = {
urlOriginal: url,
headersOriginal: headers,
fetch: (...args: Parameters<typeof fetch>) => fetch(...args),
};
const pageContext = await renderPage(pageContextInit);
const { httpResponse } = pageContext;
const stream = httpResponse.getReadableWebStream();
return new Response(stream, {
headers: httpResponse.headers,
status: httpResponse.statusCode,
});
}