In Bun, Response
objects can accept a Node.js Readable
.
This works because Bun's Response
object allows any async iterable as its body. Node.js streams are async iterables, so you can pass them directly to Response
.
import { Readable } from "stream";
import { serve } from "bun";
serve({
port: 3000,
fetch(req) {
return new Response(Readable.from(["Hello, ", "world!"]), {
headers: { "Content-Type": "text/plain" },
});
},
});