I got fastify to work! There was an interesting challenge point with an error looking like this: ``` Server Fn Error! TypeError: Response body object should not be disturbed or locked at extractBody (node:internal/deps/undici/undici:5574:17) at new Request (node:internal/deps/undici/undici:9809:48) ``` But I was able to solve that by adding a bunch of content type parser no-op functions, inspired by this Next.js issue: https://github.com/vercel/next.js/issues/24894 Here's my code: ``` import { join } from 'node:path'; import fastifyStatic from '@fastify/static'; import Fastify from 'fastify'; import { toNodeHandler } from 'srvx/node'; import type { FastifyContentTypeParser } from 'fastify'; /** * This Fastify server is used to serve the built app from the dist directory for deployed * environments. For local development, this server is not used -- `vite dev` is used instead. */ const fastify = Fastify({ logger: true, routerOptions: { ignoreTrailingSlash: true }, trustProxy: true, }); fastify.register(healthzEndpoints); // Production only - serve the built app const { default: handler } = await import('./dist/server/server.js'); const nodeHandler = toNodeHandler(handler.fetch); // CRITICAL: No-op content parsers to prevent Fastify from consuming the body // This allows srvx/TanStack Start to read the body stream const noOpParser: FastifyContentTypeParser = (_req, payload, done) => { return done(null, payload); }; // Register no-op parsers for all content types that might have a body fastify.addContentTypeParser('application/json', noOpParser); fastify.addContentTypeParser('application/x-www-form-urlencoded', noOpParser); fastify.addContentTypeParser('multipart/form-data', noOpParser); fastify.addContentTypeParser('text/plain', noOpParser); // Catch-all for any other content types fastify.addContentTypeParser('*', noOpParser); await fastify.register(fastifyStatic, { root: join(import.meta.dirname, 'dist/client/assets'), prefix: '/temp/my-path/assets', }); // Handle requests through TanStack Start fastify.all('/temp/my-path*', async (request, reply) => { reply.hijack(); await nodeHandler(request.raw, reply.raw); }); try { await fastify.listen({ host: process.env.SERVER_HOST, port: process.env.SERVER_PORT, }); } catch (err) { fastify.log.error(err); process.exit(1); } ```