2 个版本 (1 个稳定版)

1.0.0 2020 年 11 月 7 日
1.0.0-alpha.02020 年 7 月 30 日

#18 in #surf

Download history 6/week @ 2024-03-14 2/week @ 2024-03-21 20/week @ 2024-03-28 9/week @ 2024-04-04 82/week @ 2024-06-06 13/week @ 2024-06-13

每月 95 次下载
用于 eventstreams

MPL-2.0 许可证

23KB
180

surf-sse

使用 surf 实现的 Server-Sent Event/Event Sourcing 客户端。

文档

docs.rs 上。

安装

在 Cargo.toml 中

[dependencies]
surf-sse = "1.0.0"

许可证

MPL-2.0


lib.rs:

使用 Surf 实现的 EventSource API。

Surf Cargo 特性

surf-sse 包装了 Surf 库。默认情况下,surf-sse 使用默认的 Surf 特性。如果您使用非默认的 Surf 客户端实现或特性集,您可以禁用 surf-sse 的默认特性

surf = { version = "*", features = ["hyper-client"] }
surf-sse = { version = "*", default-features = false }

这样,surf-sse 也将使用 "hyper-client" 特性。

日志记录

surf-sse 使用 log crate 进行一些基本的连接日志记录。如果您需要调试 EventSource 连接,为 surf-sse 目标启用跟踪日志。例如,使用 env_logger

RUST_LOG=surf-sse=trace \
cargo run

示例

#
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);
}
#

依赖

~7–10MB
~205K SLoC