From f302a82879ce7cfb1381573a08c3ad3c30e4e4d0 Mon Sep 17 00:00:00 2001 From: parazyd Date: Tue, 3 Aug 2021 08:27:29 +0200 Subject: [PATCH] rpc/jsonrpc: Add enum for JsonResult and make structs public --- src/rpc/jsonrpc.rs | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/rpc/jsonrpc.rs b/src/rpc/jsonrpc.rs index 1c0a761b3..7125727ce 100644 --- a/src/rpc/jsonrpc.rs +++ b/src/rpc/jsonrpc.rs @@ -1,42 +1,48 @@ use rand::Rng; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; +use std::str; + +#[derive(Serialize, Deserialize, Debug)] +#[serde(untagged)] +pub enum JsonResult { + Resp(JsonResponse), + Err(JsonError), +} #[derive(Serialize, Deserialize, Debug)] pub struct JsonRequest { - jsonrpc: Value, - method: Value, - //params: Vec, - params: Value, - id: Value, + pub jsonrpc: Value, + pub method: Value, + pub params: Value, + pub id: Value, } #[derive(Serialize, Deserialize, Debug)] pub struct JsonErrorVal { - code: Value, - message: Value, + pub code: Value, + pub message: Value, } #[derive(Serialize, Deserialize, Debug)] pub struct JsonError { - jsonrpc: Value, - error: JsonErrorVal, - id: Value, + pub jsonrpc: Value, + pub error: JsonErrorVal, + pub id: Value, } #[derive(Serialize, Deserialize, Debug)] pub struct JsonResponse { - jsonrpc: Value, - result: Value, - id: Value, + pub jsonrpc: Value, + pub result: Value, + pub id: Value, } #[derive(Serialize, Deserialize, Debug)] pub struct JsonNotification { - jsonrpc: Value, - method: Value, - //params: Vec, - params: Value, + pub jsonrpc: Value, + pub method: Value, + pub params: Value, } pub fn request(m: Value, p: Value) -> JsonRequest {