`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돼요.

더 알아보기 (Learn more)