#事件源 #事件 #reqwest #sse #stream

无需std reqwest-eventsource-wasi

使用reqwest构建Eventsource的辅助工具

1个不稳定版本

0.5.0 2023年11月15日

#471HTTP客户端

Download history 15/week @ 2024-03-13 11/week @ 2024-03-20 21/week @ 2024-03-27 22/week @ 2024-04-03 8/week @ 2024-04-10 87/week @ 2024-04-17 124/week @ 2024-04-24 18/week @ 2024-05-01 9/week @ 2024-05-08 12/week @ 2024-05-15 5/week @ 2024-05-22 7/week @ 2024-05-29 3/week @ 2024-06-05 15/week @ 2024-06-12 23/week @ 2024-06-19 14/week @ 2024-06-26

每月 55次下载
用于 async-openai-wasi

MIT/Apache

21KB
391 代码行

reqwest-eventsource

提供对reqwest的简单封装,以提供事件源实现。您可以了解更多关于服务器发送事件(SSE)的信息,请参阅MDN文档。此crate使用eventsource_stream封装底层的字节流,并重试失败的请求。

示例

let mut es = EventSource::get("https://127.0.0.1:8000/events");
while let Some(event) = es.next().await {
    match event {
        Ok(Event::Open) => println!("Connection Open!"),
        Ok(Event::Message(message)) => println!("Message: {:#?}", message),
        Err(err) => {
            println!("Error: {}", err);
            es.close();
        }
    }
}

许可:MIT OR Apache-2.0


lib.rs:

提供对reqwest的简单封装,以提供事件源实现。您可以了解更多关于服务器发送事件(SSE)的信息,请参阅MDN文档。此crate使用eventsource_stream封装底层的字节流,并重试失败的请求。

示例

let mut es = EventSource::get("https://127.0.0.1:8000/events");
while let Some(event) = es.next().await {
    match event {
        Ok(Event::Open) => println!("Connection Open!"),
        Ok(Event::Message(message)) => println!("Message: {:#?}", message),
        Err(err) => {
            println!("Error: {}", err);
            es.close();
        }
    }
}

依赖项

~4–20MB
~263K SLoC