Expand description
A JSON-RPC 2.0 library that streams JSON objects in JSON Lines format.
§Example
use std::net::TcpStream;
use jsonlrpc::{RpcClient, RequestId, RequestObject, ResponseObject, JsonRpcVersion};
// Connect to a JSON-RPC server.
let server_addr = /* ... */
let socket = TcpStream::connect(server_addr).expect("failed to connect to server");
let mut client = RpcClient::new(socket);
// Send a request to the server.
let request = RequestObject {
jsonrpc: JsonRpcVersion::V2,
id: Some(RequestId::Number(1)),
method: "foo".to_string(),
params: None,
};
let response = client.call(&request).expect("failed to RPC call");
// Check the response.
let Some(ResponseObject::Ok { result, id, .. }) = response else {
panic!("expected ok response, got notification or err response")
};
assert_eq!(id, RequestId::Number(1));
Structs§
- Error
Code - Error code.
- Error
Object - Error object.
- Jsonl
Stream - JSONL stream.
- Request
Object - Default representation for a request object.
- RpcClient
- JSON-RPC client.
Enums§
- Json
RpcVersion - JSON-RPC version.
- Maybe
Batch - Single or batch object.
- Request
Id - Request ID.
- Request
Params - Request parameters.
- Response
Object - Default representation for a response object.