2 stable releases

2.0.2 Feb 3, 2022
2.0.1 Jan 9, 2021

#812 in Network programming

Download history 517/week @ 2024-06-11 606/week @ 2024-06-18 269/week @ 2024-06-25 258/week @ 2024-07-02 241/week @ 2024-07-09 275/week @ 2024-07-16 297/week @ 2024-07-23 311/week @ 2024-07-30 779/week @ 2024-08-06 984/week @ 2024-08-13 500/week @ 2024-08-20 597/week @ 2024-08-27 1072/week @ 2024-09-03 716/week @ 2024-09-10 859/week @ 2024-09-17 678/week @ 2024-09-24

3,504 downloads per month
Used in 12 crates (3 directly)

CC0 license

45KB
876 lines

Status

Rust Version compatibility

This library is compatible with Rust 1.29.0 or higher. However, because some dependencies have increased their Rust versions in minor/patch revisions, a bit of work is required for users who wish to use older versions of the compiler. In particular,

For compatibility with older versions of rustc, use the following commands to pull your dependencies back down to unbroken versions:

cargo update --package 'serde_json' --precise '1.0.39'
cargo update --package 'serde_derive' --precise '1.0.98'

Rust JSONRPC Client

Rudimentary support for sending JSONRPC 2.0 requests and receiving responses.

To send a request which should retrieve the above structure, consider the following example code

extern crate jsonrpc;
extern crate serde;
#[macro_use] extern crate serde_derive;

#[derive(Deserialize)]
struct MyStruct {
    elem1: bool,
    elem2: String,
    elem3: Vec<usize>
}

fn main() {
    // The two Nones are for user/pass for authentication
    let rtt = jsonrpc::simple_rtt::Tripper::new();
    let client = jsonrpc::client::Client::with_rtt(rtt, "example.org".to_owned(), None, None);
    match client.do_rpc::<MyStruct>(&request) {
        Ok(mystruct) => // Ok!
        Err(e) => // Not so much.
    }
}

Dependencies

~3–9.5MB
~93K SLoC