`pipeUIMessageStreamToResponse`
pipeUIMessageStreamToResponse
pipeUIMessageStreamToResponse 함수는 스트리밍 데이터를 Node.js의 ServerResponse 객체로 전달(piping)해 주는 함수예요. (Streaming Data 문서 참고)
출처: 문서
본문
pipeUIMessageStreamToResponse 함수는 UI 메시지 스트림을 Node.js ServerResponse 객체에 연결해서, 서버 응답으로 데이터를 스트리밍할 수 있게 해 줘요.
Import
import { pipeUIMessageStreamToResponse } from "ai"
예제 (Example)
await pipeUIMessageStreamToResponse({
response: serverResponse,
status: 200,
statusText: 'OK',
headers: {
'Custom-Header': 'value',
},
stream: myUIMessageStream,
consumeSseStream: ({ stream }) => {
// Optional: consume the SSE stream independently
console.log('Consuming SSE stream:', stream);
},
});
API 시그니처 (API Signature)
매개변수 (Parameters)
| 이름 | 타입 | 설명 |
|---|---|---|
response |
ServerResponse |
데이터를 전달할 Node.js ServerResponse 객체예요. |
stream |
ReadableStream<UIMessageChunk> |
응답으로 전달할 UI 메시지 스트림이에요. |
status (선택) |
number |
응답의 상태 코드예요. |
statusText (선택) |
string |
응답의 상태 텍스트예요. |
headers (선택) |
Headers | Record<string, string> |
응답에 추가할 헤더 목록이에요. |
consumeSseStream (선택) |
({ stream }: { stream: ReadableStream<string> }) => PromiseLike<void> | void |
SSE 스트림을 독립적으로 소비할 선택적 함수예요. 스트림은 teed(복제)되며 이 함수는 그 복사본을 받아요. |
반환값 (Returns)
스트림이 응답에 모두 기록되면 resolve되는 Promise<void>를 반환하고, 스트림을 읽거나 쓰는 과정에서 실패하면 reject돼요.