#json-rpc #minimalist #protocols #base #request #type #id

无 std jsonrpc-base

JSON-RPC 协议的最小化类型实现

2 个不稳定版本

0.2.0 2023年6月20日
0.1.0 2023年6月19日

#78 in #base

MIT/Apache

26KB
634

jsonrpc-base

JSON-RPC 协议的最小化类型实现。

crates.io Documentation License

示例

use jsonrpc_base::Request;

let (id, request) = Request::new("foo/barBaz")
    .with_params(vec![1, 2, 3])
    .expect("vec JSON parse will not fail")
    .prepare();

let mut lines = request.lines();
assert_eq!(lines.next(), Some("Content-Length: 100"));
assert_eq!(lines.next(), Some(""));

let mut message = String::new();
message.push_str(r#"{"jsonrpc":"2.0","id":"#);
message.push_str(id.to_string().as_str());
message.push_str(r#","method":"foo/barBaz","params":[1,2,3]}"#);
assert_eq!(lines.next(), Some(message.as_str()));

依赖

~0.8–1.6MB
~36K SLoC