CrazyIter 5 years ago
parent
commit
20f1ff2b75

+ 2 - 0
JsonRPCTest/RpcRouter/Abstractions/IRpcInvoker.cs

@@ -1,8 +1,10 @@
 using System;
 using System.Collections.Generic;
 using EdjCase.JsonRpc.Core;
+using Newtonsoft.Json;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Http;
+using Newtonsoft.Json.Linq;
 
 namespace EdjCase.JsonRpc.Router.Abstractions
 {

+ 1 - 0
JsonRPCTest/RpcRouter/Abstractions/IRpcMethodResult.cs

@@ -1,4 +1,5 @@
 using EdjCase.JsonRpc.Core;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Linq;

+ 1 - 0
JsonRPCTest/RpcRouter/Abstractions/IRpcParser.cs

@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using Edjcase.JsonRpc.Router;
 using EdjCase.JsonRpc.Core;
+using Newtonsoft.Json;
 
 namespace EdjCase.JsonRpc.Router.Abstractions
 {

+ 11 - 20
JsonRPCTest/RpcRouter/Defaults/DefaultRequestMatcher.cs

@@ -4,7 +4,6 @@ using System.Linq;
 using System.Reflection;
 using EdjCase.JsonRpc.Core;
 using EdjCase.JsonRpc.Router.Abstractions;
-using JsonRPCTest.Controllers;
 using Microsoft.Extensions.Logging;
 using Microsoft.Extensions.Options;
 using Newtonsoft.Json;
@@ -302,29 +301,21 @@ namespace EdjCase.JsonRpc.Router.Defaults
 				.ToDictionary(x => DefaultRequestMatcher.FixCase(x.Key) ?? x.Key, v => v.Value, StringComparer.OrdinalIgnoreCase);
 			ParameterInfo[] parameterInfoList = method.GetParameters();
 			parameterList = new object[parameterInfoList.Count()];
-			
-				foreach (ParameterInfo parameterInfo in parameterInfoList)
+			foreach (ParameterInfo parameterInfo in parameterInfoList)
+			{
+				if (!parametersMap.ContainsKey(parameterInfo.Name))
 				{
-					if (!parametersMap.ContainsKey(parameterInfo.Name))
-					{
-						//if (parameterInfoList.Length == 1 && parametersMap != null && parametersMap.Keys.Count > 0)
-						//{
-						//	Type type= parameterInfo.ParameterType;
-						//	parameterList[parameterInfo.Position] = JsonNetHelper.FromJson(parametersMap.ToJson(), type);
-						//	return true;
-						//}
-						if (!parameterInfo.IsOptional)
-						{
-							parameterList = null;
-							return false;
-						}
-					}
-					else
+					if (!parameterInfo.IsOptional)
 					{
-						parameterList[parameterInfo.Position] = parametersMap[parameterInfo.Name];
+						parameterList = null;
+						return false;
 					}
 				}
-			 
+				else
+				{
+					parameterList[parameterInfo.Position] = parametersMap[parameterInfo.Name];
+				}
+			}
 			return true;
 		}
 

+ 1 - 1
JsonRPCTest/RpcRouter/RpcHttpRouter.cs

@@ -133,7 +133,7 @@ namespace EdjCase.JsonRpc.Router
 							context.HttpContext.Response.Headers.Add("Content-Encoding", new[] { encoding });
 							using (Stream responseStream = new MemoryStream(Encoding.UTF8.GetBytes(responseJson)))
 							{
-							   	compressor.Compress(responseStream, context.HttpContext.Response.Body, compressionType);
+								compressor.Compress(responseStream, context.HttpContext.Response.Body, compressionType);
 							}
 							responseSet = true;
 							break;