3个版本 (重大更改)
0.3.0 | 2018年12月28日 |
---|---|
0.2.0 | 2018年7月16日 |
0.1.0 | 2018年6月25日 |
#19 in #server-response
用于 rpc-cli
10KB
244 行
#rpc-lib
这是一个用于向服务器发送请求的RPC 2.0库,它已被修改以处理一些非标准服务器响应,例如字符串错误返回值。
为什么不使用严格的RPC 2.0响应
因为我支持一些略微偏离规范的旧版Go RPC服务器,然而,这也会支持正确的RPC 2.0规范。
要求
在Linux上
- OpenSSL 1.0.1、1.0.2或1.1.0带有头文件(见https://github.com/sfackler/rust-openssl)
在Windows和macOS上
- 无。
用法
首先,将以下内容添加到您的Cargo.toml
[dependencies]
rpc-lib = "1.0.0"
以下是一个示例,以帮助您入门
extern crate rpc_lib;
extern crate serde;
#[macro_use]
extern crate serde_derive;
use rpc_lib::client::prelude::*;
use std::error::Error;
#[derive(Serialize)]
struct Input {
id: String,
}
#[derive(Deserialize, Debug)]
struct Project {
id: String,
url: String,
enabled: bool,
}
fn main() -> Result<(), Box<Error>> {
let input = Input {
id: "x0x0x0x0".to_string(),
};
let client = Client::new("https://127.0.0.1:4000/rpc");
let res: Project = client.call("1", "Project.Find", input)?;
println!("{:?}", res);
Ok(())
}
依赖关系
~19MB
~425K SLoC