#server-sent-events #event-source #feature-flags #feature-toggles #launch-darkly #http-request

eventsource-client

Server-Sent Events协议(即EventSource)的客户端

18个版本 (11个破坏性版本)

0.13.0 2024年7月30日
0.12.2 2023年12月20日
0.12.0 2023年11月15日
0.11.0 2022年11月7日
0.2.0 2019年7月24日

#20 in HTTP客户端

Download history 11870/week @ 2024-05-02 11596/week @ 2024-05-09 10288/week @ 2024-05-16 9101/week @ 2024-05-23 31026/week @ 2024-05-30 28356/week @ 2024-06-06 24910/week @ 2024-06-13 16634/week @ 2024-06-20 16313/week @ 2024-06-27 16330/week @ 2024-07-04 46671/week @ 2024-07-11 53984/week @ 2024-07-18 39269/week @ 2024-07-25 60914/week @ 2024-08-01 63499/week @ 2024-08-08 37281/week @ 2024-08-15

每月208,727次下载
用于16个crate(11个直接使用)

Apache-2.0

300KB
1.5K SLoC

eventsource-client

Run CI

Server-Sent Events协议(即EventSource)的客户端。

要求

需要tokio。

用法

仅打印接收到的每个事件类型的示例

use eventsource_client as es;

let mut client = es::ClientBuilder::for_url("https://example.com/stream")?
    .header("Authorization", "Basic username:password")?
    .build();

client
    .stream()
    .map_ok(|event| println!("got event: {:?}", event))
    .map_err(|err| eprintln!("error streaming events: {:?}", err));

(为了清晰起见,省略了一些样板代码;请参阅示例目录以获取完整、可工作的代码。)

特性

  • 基于tokio的流式客户端。
  • 支持在HTTP请求中设置自定义头部(例如,用于需要授权的端点)。
  • 失败连接的重试。
  • 如果连接中断,则重新连接,使用指数退避。

稳定性

为反馈目的的早期阶段发布。可能包含错误或性能问题。API可能会更改。

依赖项

~5–16MB
~204K SLoC