#encode-decode #server-sent-events #sse #message #protocols #lib

clia-sse-msg-codec

一个用于编解码 SSE (Server-Sent Events) 协议消息的 Rust 库

1 个不稳定版本

0.1.0 2022 年 3 月 22 日

#22 in #server-sent-events

BSD-2-Clause

5KB
73 代码行数,不包括注释

sse-msg-codec

一个用于编解码 SSE (Server-Sent Events) 协议消息的 Rust 库。

协议

SSE (Server-Sent Events) 协议,参见: https://mdn.org.cn/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format

使用方法

编码

let encoded = sse_msg_codec::encode(
    Some("test-id"), 
    Some("test-event"), 
    Some("test-data line1\nline2"),
);
assert_eq!(
    encoded, 
    "id: test-id\nevent: test-event\ndata: test-data line1\ndata: line2\n\n".to_owned(),
);

解码

let msg = "id: test-id\nevent: test-event\ndata: test-data line1\ndata: line2\n\n";
let decoded = sse_msg_codec::decode(msg);
assert_eq!(decoded, SseMsg {
    id: Some("test-id".to_owned()),
    event: Some("test-event".to_owned()),
    data: Some("test-data line1\nline2".to_owned()),
});

lib.rs:

编码和解码 SSE 消息

无运行时依赖