[Runtime
](../../../index.md)[Package Manager
](../../../pm/cli/install/index.md)[Bundler
](../../../bundler/index.md)[Test Runner
](../../../test/index.md)[Guides
](../../index.md)[Reference
](https://bun.com/reference)[Blog
](https://bun.com/blog)[Feedback
](../../../feedback/index.md)
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.
server.ts
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" },
});
},
});
Was this page helpful?
[
Server-Sent Events (SSE) with Bun
Previous
](../sse/index.md)[
Build a simple WebSocket server
Next
](../../websocket/simple/index.md)