18 releases

0.8.0 Jan 9, 2025
0.7.1 Jul 2, 2024
0.7.0 Mar 25, 2024
0.5.1 Apr 27, 2023
0.2.1 Jul 28, 2022

#294 in Asynchronous

Download history 149/week @ 2024-12-27 339/week @ 2025-01-03 417/week @ 2025-01-10 646/week @ 2025-01-17 445/week @ 2025-01-24 287/week @ 2025-01-31 304/week @ 2025-02-07 426/week @ 2025-02-14 341/week @ 2025-02-21 410/week @ 2025-02-28 214/week @ 2025-03-07 289/week @ 2025-03-14 402/week @ 2025-03-21 273/week @ 2025-03-28 604/week @ 2025-04-04 284/week @ 2025-04-11

1,669 downloads per month

MIT license

25KB
603 lines

Json RPC extractor for axum

JsonRpcExtractor parses JSON-RPC requests and validates it's correctness.

use axum_jrpc::{JrpcResult, JsonRpcExtractor, JsonRpcResponse};

fn router(req: JsonRpcExtractor) -> JrpcResult {
    let req_id = req.get_answer_id()?;
    let method = req.method();
    let response =
        match method {
            "add" => {
                let params: [i32; 2] = req.parse_params()?;
                JsonRpcResponse::success(req_id, params[0] + params[1]);
            }
            m => req.method_not_found(m)
        };

    Ok(response)
}

Crates.io Documentation

Dependencies

~5–13MB
~148K SLoC