본문으로 건너뛰기

함수: toHttpResponse()

function toHttpResponse<TOffset>(stream, init?): Response;

정의 위치: packages/ai/src/stream-to-response.ts:1118

StreamChunk async iterable을 HTTP 스트림 형식(줄바꿈으로 구분된 JSON)의 Response로 변환합니다.

HTTP 스트림 형식으로 청크를 방출하는 Response 를 생성합니다:

  • 각 청크는 JSON.stringify'd 되며 "\n" 으로 이어집니다
  • SSE 포맟팅 없음 ("data: " 접두어 없음)

이 형식은 fetchHttpStream 연결 어댑터와 호환됩니다.

durability 싱크 (memoryStream(request) / durableStream(request)) 를 전달하여 스트림을 재개 가능하게 만듭니다: 새 실행은 로그에 추가되고 각 NDJSON 줄은 불투명한 오프셋을 실은 { id, chunk } 엔벨로프로 방출됩니다. 재연결 (네이티브 Last-Event-ID 헤더) 또는 ?offset 조인은 프로듀서를 다시 실행하지 않고 로그에서 재생합니다. batch 은 각 append 당 버퍼링되는 청크의 수를 제어합니다 (기본값 32). 이는 durableStreamSource 와 동일한 toServerSentEventsResponse 을 공유하며, 오직 와이어 인코딩만 다릅니다.

타입 매개변수

TOffset

TOffset extends string = string

매개변수

stream

AsyncIterable&lt;AGUIEvent>

chat()에서 반환된 StreamChunk의 AsyncIterable입니다.

init?

ResponseInit & object

선택적 Response 초기화 옵션입니다(abortController, 선택적 batch가 있는 durability, debug 포함).

반환값

Response

HTTP 스트림 형식(줄바꿈으로 구분된 JSON)의 Response입니다.

예제

export async function POST(request: Request) {
const stream = chat({ adapter: openaiText('gpt-5.5'), messages: [...] });
return toHttpResponse(stream, { durability: { adapter: memoryStream(request) } });
}