Skip to main content

parse_sse_stream

Function parse_sse_stream 

Source
pub fn parse_sse_stream<R: BufRead>(
    reader: R,
) -> impl Iterator<Item = Result<StreamEvent, ClaudeSDKError>>
Expand description

Parse an SSE stream into a iterator of StreamEvents

Reads lines from the provided reader, accumulates SSE events (event type + data lines), and parses the JSON data into typed events.

§Example

use std::io::BufReader;
use claude_code_sdk_rust::internal::message_parser::parse_sse_stream;

let reader = BufReader::new(stream);
for event in parse_sse_stream(reader) {
    match event {
        Ok(StreamEvent::Token { token, .. }) => print!("{}", token),
        Ok(StreamEvent::MessageStop { .. }) => break,
        Ok(StreamEvent::Error { error }) => eprintln!("Error: {}", error.message),
        _ => {}
    }
}