#event-source #stream #server-sent-events #sse #events #parse

无 std eventsource-stream

从字节流构建 Eventsource 的基本构建块

7 个版本

0.2.3 2022 年 2 月 17 日
0.2.2 2022 年 2 月 11 日
0.2.1 2022 年 1 月 31 日
0.1.2 2021 年 10 月 21 日
0.1.1 2020 年 6 月 28 日

#192 in 解析器实现

Download history 11407/week @ 2024-03-14 13118/week @ 2024-03-21 10674/week @ 2024-03-28 11719/week @ 2024-04-04 12639/week @ 2024-04-11 12494/week @ 2024-04-18 12045/week @ 2024-04-25 13066/week @ 2024-05-02 12017/week @ 2024-05-09 13398/week @ 2024-05-16 14570/week @ 2024-05-23 13973/week @ 2024-05-30 13112/week @ 2024-06-06 12663/week @ 2024-06-13 12304/week @ 2024-06-20 10136/week @ 2024-06-27

50,263 每月下载量
164 个 crate 中使用 (20 个直接使用)

MIT/Apache

31KB
770

eventsource-stream

从字节流数组对象构建 Eventsource 的基本构建块。要了解更多关于服务器端事件 (SSE) 的信息,请查看 MDN 文档

示例

let mut stream = reqwest::Client::new()
    .get("https://127.0.0.1:7020/notifications")
    .send()
    .await?
    .bytes_stream()
    .eventsource();

while let Some(thing) = stream.next().await {
   println!("{:?}", thing);
}

许可证:MIT OR Apache-2.0


lib.rs:

从字节流数组对象构建 Eventsource 的基本构建块。要了解更多关于服务器端事件 (SSE) 的信息,请查看 MDN 文档

示例

let mut stream = reqwest::Client::new()
    .get("https://127.0.0.1:7020/notifications")
    .send()
    .await?
    .bytes_stream()
    .eventsource();


while let Some(event) = stream.next().await {
    match event {
        Ok(event) => println!(
            "received event[type={}]: {}",
            event.event,
            event.data
        ),
        Err(e) => eprintln!("error occured: {}", e),
    }
}

依赖项

~1MB
~21K SLoC