diff --git a/packages/firebase-frameworks/src/sveltekit/index.ts b/packages/firebase-frameworks/src/sveltekit/index.ts index c99765c5..c3b41e6b 100644 --- a/packages/firebase-frameworks/src/sveltekit/index.ts +++ b/packages/firebase-frameworks/src/sveltekit/index.ts @@ -26,7 +26,20 @@ export const handle = async (req: Request, res: Response) => { return res.writeHead(404, "Not Found").end(); } - const body = await rendered.text(); + let body; + const contentType = rendered.headers.get("Content-Type"); + if ( + contentType.startsWith("text/") || + contentType.startsWith("application/json") || + contentType.startsWith("application/xml") || + contentType.startsWith("application/javascript") || + contentType.startsWith("application/vnd.ms-excel") + ) { + body = await rendered.text(); + } else { + body = Buffer.from(await rendered.arrayBuffer()); + } + return res.writeHead(rendered.status, Object.fromEntries(rendered.headers)).end(body); };