pipeDataStreamToResponse
The pipeDataStreamToResponse function pipes streaming data to a Node.js ServerResponse object (see Streaming Data).
Import
import { pipeDataStreamToResponse } from "ai"Example
pipeDataStreamToResponse(serverResponse, { status: 200, statusText: 'OK', headers: { 'Custom-Header': 'value', }, async execute(dataStream) { // Write data dataStream.writeData({ value: 'Hello' });
// Write annotation dataStream.writeMessageAnnotation({ type: 'status', value: 'processing' });
// Merge another stream const otherStream = getAnotherStream(); dataStream.merge(otherStream); }, onError: error => `Custom error: ${error.message}`,});API Signature
Parameters
response:
ServerResponse
status:
number
statusText:
string
headers:
Headers | Record<string, string>
execute:
(dataStream: DataStreamWriter) => Promise<void> | void
DataStreamWriter
writeData:
(value: JSONValue) => void
writeMessageAnnotation:
(value: JSONValue) => void
merge:
(stream: ReadableStream<DataStreamString>) => void
onError:
((error: unknown) => string) | undefined
onError:
(error: unknown) => string