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;