5 个不稳定版本
0.3.2 | 2020 年 7 月 30 日 |
---|---|
0.3.1 | 2020 年 3 月 4 日 |
0.3.0 | 2020 年 3 月 2 日 |
0.2.0 | 2020 年 1 月 22 日 |
0.1.0 | 2019 年 12 月 23 日 |
#2 in #encodes
13,667 每月下载量
在 16 个包中使用了 (直接使用 3 个)
33KB
757 代码行
sse-codec
A futures_codec
that encodes and decodes Server-Sent Event/Event Sourcing streams.
文档
在 docs.rs 上。
安装
使用 cargo-edit
做以下操作
cargo add sse-codec
或在 Cargo.toml 中
[dependencies]
sse-codec = "0.3.2"
相关
许可
lib.rs
:
A futures_codec
that encodes and decodes Server-Sent Event/Event Sourcing streams.
它输出或序列化完整消息,以及元消息 retry:
。
示例
use sse_codec::{decode_stream, Event};
use futures::stream::TryStreamExt; // for try_next()
let response = surf::get("https://some-site.com/events").await?;
let mut events = decode_stream(response);
while let Some(event) = events.try_next().await? {
println!("incoming: {:?}", event);
match event {
Event::Retry { retry } => {
// change a retry timer value or something
}
Event::Message { event, .. } if event == "stop" => {
break;
}
Event::Message { id, event, data } => {
if let Some(id) = id {
// change the last event ID
}
// handle event here
}
}
}
来自 web-platform-tests 套件的 EventSource 测试。请参阅 https://github.com/web-platform-tests/wpt/tree/master/eventsource
依赖关系
~3MB
~60K SLoC