36个版本

0.18.0 2024年4月12日
0.17.0 2024年1月2日
0.16.0 2023年6月29日
0.14.0 2022年11月29日
0.6.2 2015年11月23日

#12 in HTTP客户端

Download history 14480/week @ 2024-04-26 13716/week @ 2024-05-03 13568/week @ 2024-05-10 14655/week @ 2024-05-17 12155/week @ 2024-05-24 14704/week @ 2024-05-31 15197/week @ 2024-06-07 15647/week @ 2024-06-14 14272/week @ 2024-06-21 11894/week @ 2024-06-28 13595/week @ 2024-07-05 14990/week @ 2024-07-12 12889/week @ 2024-07-19 14109/week @ 2024-07-26 14749/week @ 2024-08-02 12987/week @ 2024-08-09

57,615 每月下载量
121 个Crate中使用了(直接使用30个)

CC0 许可

81KB
2K SLoC

Status

Rust版本兼容性

此库与Rust 1.48.0 或更高版本兼容。

但是,如果您想使用此库与1.41版本一起,您需要在构建之前将几个依赖项固定。

cargo update -p serde --precise 1.0.156
cargo update -p syn --precise 1.0.107

(如果您的代码是库,您的下游用户需要运行这些命令,依此类推。)

Rust JSONRPC客户端

对发送JSONRPC 2.0请求和接收响应的基本支持。

例如,连接到本地bitcoind JSON-RPC端点并调用 uptime 命令。

use jsonrpc::Client;
use jsonrpc::simple_http::{self, SimpleHttpTransport};

fn client(url: &str, user: &str, pass: &str) -> Result<Client, simple_http::Error> {
    let t = SimpleHttpTransport::builder()
        .url(url)?
        .auth(user, Some(pass))
        .build();

    Ok(Client::with_transport(t))
}

// Demonstrate an example JSON-RCP call against bitcoind.
fn main() {
    let client = client("localhost:18443", "user", "pass").expect("failed to create client");
    let request = client.build_request("uptime", None);
    let response = client.send_request(request).expect("send_request failed");

    // For other commands this would be a struct matching the returned json.
    let result: u64 = response.result().expect("response is an error, use check_error");
    println!("bitcoind uptime: {}", result);
}

Git钩子

为了帮助开发者在CI运行之前捕获错误,我们提供了一些Git钩子。如果您尚未在本地配置Git钩子,您可以通过在仓库根目录下运行以下命令使用此仓库中的Git钩子:

git config --local core.hooksPath githooks/

或者,在您的 .git/hooks 目录中添加指向我们提供的任何Git钩子的符号链接。

依赖关系

~0.7–2MB
~38K SLoC