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),
_ => {}
}
}