Skip to main content

Crate eventsrc

Crate eventsrc 

Source
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.
EventStream
An event-only SSE stream built on top of FrameStream.
FrameStream
A protocol-level SSE stream that yields Frame values.
ProtocolError
A protocol decoding failure produced after a textual SSE field was recognized.

Enums§

Frame
A protocol-level output frame emitted by the SSE decoder.
StreamError
A stream-layer error produced while adapting a byte stream into SSE output.

Traits§

EventStreamExt
Main entrypoint for creating an Event stream.
FrameStreamExt
Main entrypoint for creating an Frame stream.