From 57d9b96b6373a24f5cc64aff3280e9b3952fc9ab Mon Sep 17 00:00:00 2001 From: Andrey_Kozlov Date: Tue, 2 May 2017 10:55:49 +0300 Subject: [PATCH 1/2] Fix mistake in test and redundant metadata null check 1.expectedJson variable at Test.cs check for JObject and then cast to JArray 2.Metadata check for null after using "metadata.dele;" without checking --- AustinHarris.JsonRpcTestN/Test.cs | 2 +- Json-Rpc/Handler.cs | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/AustinHarris.JsonRpcTestN/Test.cs b/AustinHarris.JsonRpcTestN/Test.cs index 13d0ee7..13493ef 100644 --- a/AustinHarris.JsonRpcTestN/Test.cs +++ b/AustinHarris.JsonRpcTestN/Test.cs @@ -1915,7 +1915,7 @@ private static void AssertJsonAreEqual(JToken expectedJson, JToken actualJson, s if (expectedJson is JObject) { AssertJsonAreEqual((JObject)expectedJson, (JObject)actualJson, path); - } else if (expectedJson is JObject) + } else if (expectedJson is JArray) { AssertJsonAreEqual((JArray)expectedJson, (JArray)actualJson, path); } else if (expectedJson is JValue) diff --git a/Json-Rpc/Handler.cs b/Json-Rpc/Handler.cs index c3e2e46..66e4d52 100644 --- a/Json-Rpc/Handler.cs +++ b/Json-Rpc/Handler.cs @@ -210,15 +210,8 @@ public JsonResponse Handle(JsonRequest Rpc, Object RpcContext = null) return PostProcess(Rpc, response, RpcContext); } - SMDService metadata = null; - Delegate handle = null; - var haveMetadata = this.MetaData.Services.TryGetValue(Rpc.Method, out metadata); - if (haveMetadata) - { - handle = metadata.dele; - } - - if (haveMetadata == false || metadata == null) + SMDService metadata; + if (!MetaData.Services.TryGetValue(Rpc.Method, out metadata)) { JsonResponse response = new JsonResponse() { @@ -229,6 +222,7 @@ public JsonResponse Handle(JsonRequest Rpc, Object RpcContext = null) return PostProcess(Rpc, response, RpcContext); } + var handle = metadata.dele; bool isJObject = Rpc.Params is Newtonsoft.Json.Linq.JObject; bool isJArray = Rpc.Params is Newtonsoft.Json.Linq.JArray; object[] parameters = null; From 4b70ec54f9ed16bf71b9d1942703a50a03afffe4 Mon Sep 17 00:00:00 2001 From: Andrey_Kozlov Date: Tue, 16 May 2017 12:25:13 +0300 Subject: [PATCH 2/2] Revert "Fix mistake in test and redundant metadata null check" This reverts commit 57d9b96b6373a24f5cc64aff3280e9b3952fc9ab. --- AustinHarris.JsonRpcTestN/Test.cs | 2 +- Json-Rpc/Handler.cs | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/AustinHarris.JsonRpcTestN/Test.cs b/AustinHarris.JsonRpcTestN/Test.cs index 13493ef..13d0ee7 100644 --- a/AustinHarris.JsonRpcTestN/Test.cs +++ b/AustinHarris.JsonRpcTestN/Test.cs @@ -1915,7 +1915,7 @@ private static void AssertJsonAreEqual(JToken expectedJson, JToken actualJson, s if (expectedJson is JObject) { AssertJsonAreEqual((JObject)expectedJson, (JObject)actualJson, path); - } else if (expectedJson is JArray) + } else if (expectedJson is JObject) { AssertJsonAreEqual((JArray)expectedJson, (JArray)actualJson, path); } else if (expectedJson is JValue) diff --git a/Json-Rpc/Handler.cs b/Json-Rpc/Handler.cs index 66e4d52..c3e2e46 100644 --- a/Json-Rpc/Handler.cs +++ b/Json-Rpc/Handler.cs @@ -210,8 +210,15 @@ public JsonResponse Handle(JsonRequest Rpc, Object RpcContext = null) return PostProcess(Rpc, response, RpcContext); } - SMDService metadata; - if (!MetaData.Services.TryGetValue(Rpc.Method, out metadata)) + SMDService metadata = null; + Delegate handle = null; + var haveMetadata = this.MetaData.Services.TryGetValue(Rpc.Method, out metadata); + if (haveMetadata) + { + handle = metadata.dele; + } + + if (haveMetadata == false || metadata == null) { JsonResponse response = new JsonResponse() { @@ -222,7 +229,6 @@ public JsonResponse Handle(JsonRequest Rpc, Object RpcContext = null) return PostProcess(Rpc, response, RpcContext); } - var handle = metadata.dele; bool isJObject = Rpc.Params is Newtonsoft.Json.Linq.JObject; bool isJArray = Rpc.Params is Newtonsoft.Json.Linq.JArray; object[] parameters = null;