#event-source #http #events #server-sent-events #header #http-request #thread

eventsource-threaded

通过线程访问支持头部的 EventSource/Server-Sent Events 端点的库

1 个不稳定版本

0.1.0 2021年1月9日

#962HTTP服务器

每月 21 次下载
2 个Crates中使用 (通过 urbit-http-api)

MIT 协议

18KB
299

EventSource-Threaded

EventSource-Threaded 是一个用于从 Server-Sent Events 端点读取的 Rust 库。它透明地在一个单独的线程上发送 HTTP 请求,并通过通道接收器仅向用户暴露事件流。它处理自动重新连接以及解析 text/event-stream 数据格式。

EventSource-Threaded 是由 此 EventSource 库 的创建者 lluchs 创建的分支。主要区别包括

  • EventSource 客户端现在是线程化的
  • 现在支持添加任意头部值(对于需要设置用于授权的cookie等用例非常重要)
  • 方法/接口的微小重命名/删除

示例

use eventsource-threaded::reqwest::Client;
use reqwest::Url;

fn main() {
    let receiver = EventSource::new(Url::parse("http://example.com").unwrap());
    loop {
        println!("Received Event: {:?}", receiver.recv());
    }

}

lib.rs:

EventSource-Threaded

EventSource-Threaded 是一个用于从 Server-Sent Events 端点读取的 Rust 库。它透明地在一个单独的线程上发送 HTTP 请求,并通过通道接收器仅向用户暴露事件流。它处理自动重新连接以及解析 text/event-stream 数据格式。

示例

use eventsource-threaded::reqwest::Client;
use reqwest::Url;

fn main() {
    let receiver = EventSource::new(Url::parse("http://example.com").unwrap());
    loop {
        println!("Received Event: {:?}", receiver.recv());
    }
}

依赖

~2.7–7.5MB
~155K SLoC