eventsource_stream/
lib.rs

1//! A basic building block for building an Eventsource from a Stream of bytes array like objects. To
2//! learn more about Server Sent Events (SSE) take a look at [the MDN
3//! docs](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
4//!
5//! # Example
6//!
7//! ```ignore
8//! let mut stream = reqwest::Client::new()
9//!     .get("http://localhost:7020/notifications")
10//!     .send()
11//!     .await?
12//!     .bytes_stream()
13//!     .eventsource();
14//!
15//!
16//! while let Some(event) = stream.next().await {
17//!     match event {
18//!         Ok(event) => println!(
19//!             "received event[type={}]: {}",
20//!             event.event,
21//!             event.data
22//!         ),
23//!         Err(e) => eprintln!("error occured: {}", e),
24//!     }
25//! }
26//! ```
27
28#![cfg_attr(not(feature = "std"), no_std)]
29
30#[cfg(not(feature = "std"))]
31extern crate alloc;
32
33mod event;
34mod event_stream;
35mod parser;
36mod traits;
37mod utf8_stream;
38
39pub use event::Event;
40pub use event_stream::{EventStream, EventStreamError};
41pub use traits::Eventsource;