Expand description
Transport-agnostic SSE protocol parsing and stream adaptation.
This crate exposes only normalized events, protocol frames, and stream adapters. Raw line parsing and event-building state remain internal implementation details.
§Event-Only Consumption
use std::convert::Infallible;
use bytes::Bytes;
use eventsrc::EventStream;
use futures_util::{StreamExt, stream};
let chunks = stream::iter([Ok::<Bytes, Infallible>(Bytes::from_static(b"data: hello\n\n"))]);
let mut stream = EventStream::new(chunks);
let event = stream.next().await.unwrap()?;
assert_eq!(event.event(), "message");
assert_eq!(event.data(), "hello");
assert_eq!(event.id(), "");Structs§
- Event
- A normalized SSE event with validated UTF-8 fields.
- Event
Stream - An event-only SSE stream built on top of
FrameStream. - Frame
Stream - A protocol-level SSE stream that yields
Framevalues. - Protocol
Error - A protocol decoding failure produced after a textual SSE field was recognized.
Enums§
- Frame
- A protocol-level output frame emitted by the SSE decoder.
- Stream
Error - A stream-layer error produced while adapting a byte stream into SSE output.
Traits§
- Event
Stream Ext - Main entrypoint for creating an
Eventstream. - Frame
Stream Ext - Main entrypoint for creating an
Framestream.