From 86d7628562a2ddbe79e4b79c25e89b58f379fdbe Mon Sep 17 00:00:00 2001 From: Blade Doyle Date: Mon, 23 Apr 2018 01:41:35 -0700 Subject: [PATCH] add request method name to the result to allow matching onthe client side (#987) * add request method name to the result to allow matching onthe client side * update tests for change in rpc response api --- servers/src/mining/stratumserver.rs | 3 +++ servers/tests/stratum.rs | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/servers/src/mining/stratumserver.rs b/servers/src/mining/stratumserver.rs index d7d3ca370..f678e04ea 100644 --- a/servers/src/mining/stratumserver.rs +++ b/servers/src/mining/stratumserver.rs @@ -53,6 +53,7 @@ struct RpcRequest { struct RpcResponse { id: String, jsonrpc: String, + method: String, result: Option, error: Option, } @@ -329,6 +330,7 @@ impl StratumServer { let resp = RpcResponse { id: workers_l[num].id.clone(), jsonrpc: String::from("2.0"), + method: request.method, result: None, error: Some(rpc_err), }; @@ -337,6 +339,7 @@ impl StratumServer { let resp = RpcResponse { id: workers_l[num].id.clone(), jsonrpc: String::from("2.0"), + method: request.method, result: Some(response), error: None, }; diff --git a/servers/tests/stratum.rs b/servers/tests/stratum.rs index aa6e825ac..2c28fdcf1 100644 --- a/servers/tests/stratum.rs +++ b/servers/tests/stratum.rs @@ -117,7 +117,7 @@ fn basic_stratum_server() { // keepalive - expected "ok" result let mut response = String::new(); let job_req = "{\"id\":\"3\",\"jsonrpc\":\"2.0\",\"method\":\"keepalive\"}\n"; - let ok_resp = "{\"id\":\"3\",\"jsonrpc\":\"2.0\",\"result\":\"ok\",\"error\":null}\n"; + let ok_resp = "{\"id\":\"3\",\"jsonrpc\":\"2.0\",\"method\":\"keepalive\",\"result\":\"ok\",\"error\":null}\n"; workers[2].write(job_req.as_bytes()).unwrap(); workers[2].flush().unwrap(); thread::sleep(time::Duration::from_secs(1)); // Wait for the server to reply @@ -127,7 +127,7 @@ fn basic_stratum_server() { // "doesnotexist" - error expected let mut response = String::new(); let job_req = "{\"id\":\"4\",\"jsonrpc\":\"2.0\",\"method\":\"doesnotexist\"}\n"; - let ok_resp = "{\"id\":\"4\",\"jsonrpc\":\"2.0\",\"result\":null,\"error\":{\"code\":-32601,\"message\":\"Method not found\"}}\n"; + let ok_resp = "{\"id\":\"4\",\"jsonrpc\":\"2.0\",\"method\":\"doesnotexist\",\"result\":null,\"error\":{\"code\":-32601,\"message\":\"Method not found\"}}\n"; workers[3].write(job_req.as_bytes()).unwrap(); workers[3].flush().unwrap(); thread::sleep(time::Duration::from_secs(1)); // Wait for the server to reply