rust
let service_address = jsonrpc_v2_client::ServiceAddress::new("127.0.0.1:8082", "/api");
let method = "add";
let params = jsonrpc_v2_client::Params([10.5, 20.5]);
let id = 0;
let request = jsonrpc_v2_client::Request::new(method, params, id);
// Without API KEY
let response = request.send(&service_address, None);
println!("{}", response);
// Or with API KEY
let api_key = jsonrpc_v2_client::APIKey::new("API-KEY", "abcdef123456");
let response = request.send(&service_address, Some(&api_key));
println!("{}", response);
// Access JSON field
println!("{}", response["result"]);
println!("{}", response["error"]);
println!("{}", response["id"]);
log target name is: jsonrpcv2client
example using log4rs
file: config.yaml
``` yaml
refresh_rate: 30 seconds
appenders: stdout: kind: file path: "log/logs/stdout.log" encoder: pattern: "{d} - {m}{n}"
jsonrpcv2client: kind: file path: "log/logs/jsonrpcv2client.log" encoder: pattern: "{d} - {m}{n}"
root: level: info appenders: - stdout
jsonrpcv2client: level: trace appenders: - jsonrpcv2client additive: false ```
log output example:
``` log 2021-12-15T14:58:35.293410700+01:00 - [jsonrpcv2client: request as string] POST /api HTTP/1.1 Content-Type: application/json User-Agent: jsonrpcv2client Accept: application/json X-API-KEY: 1q2w3e4r5t Content-Length: 100
{ "jsonrpc": "2.0", "method": "mul", "params": [ 10.3, 10.1, 12.2 ], "id": 0 } 2021-12-15T14:58:35.294005600+01:00 - [jsonrpcv2client: sending request] 2021-12-15T14:58:35.294470100+01:00 - [jsonrpcv2client: request successfully sent] 2021-12-15T14:58:35.294679+01:00 - [jsonrpcv2client: reading response] 2021-12-15T14:58:35.297373900+01:00 - [jsonrpcv2client: received response of len = 183] 2021-12-15T14:58:35.300850900+01:00 - [jsonrpcv2client: request as string] ```