Expand description
An implementation of the EventSource API using Surf.
§Surf Cargo Features
surf-sse wraps the Surf library. By default, surf-sse uses the default
Surf features. If you are using a non-default Surf client implementation or feature set,
you can disable surf-sse’s default feature:
surf = { version = "*", features = ["hyper-client"] }
surf-sse = { version = "*", default-features = false }This way, surf-sse will also use the “hyper-client” feature.
§Logging
surf-sse uses the log crate for some rudimentary connection logging. If you need to debug
an EventSource connection, enable trace logging for the surf-sse target. For example, with
env_logger:
RUST_LOG=surf-sse=trace \
cargo run§Examples
use futures_util::stream::TryStreamExt; // for try_next()
use surf_sse::EventSource;
let mut events = EventSource::new("https://announce.u-wave.net/events".parse().unwrap());
while let Some(message) = events.try_next().await.unwrap() {
dbg!(message);
}Structs§
- Event
- An event.
- Event
Source - A Server-Sent Events/Event Sourcing client, similar to
EventSourcein the browser. - Url
- A parsed URL record.
Enums§
- Error
- Represents an EventSource “error” event.
- Ready
State - The state of the connection.
Traits§
- Client
Ext - Extension trait with event sourcing methods for Surf clients.