ParseRequests() public method

Parses all the requests from the json in the request
public ParseRequests ( string jsonString, bool &isBulkRequest, JsonSerializerSettings jsonSerializerSettings = null ) : List
jsonString string Json from the http request
isBulkRequest bool If true, the request is a bulk request (even if there is only one)
jsonSerializerSettings Newtonsoft.Json.JsonSerializerSettings (Optional)Json serialization settings that will be used in serialization and deserialization for rpc requests
return List
Exemplo n.º 1
0
        public void ParseRequests_BatchRequest_Valid()
        {
            const string json = "[{\"jsonrpc\": \"2.0\", \"method\": \"one\", \"params\": [\"1\"], \"id\": \"1\"}, {\"jsonrpc\": \"2.0\", \"method\": \"two\", \"params\": [\"2\"], \"id\": \"2\"}]";

            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            List<RpcRequest> rpcRequests = parser.ParseRequests(json, out isBulkRequest);

            Assert.NotNull(rpcRequests);
            Assert.Equal(rpcRequests.Count, 2);
            Assert.Equal(rpcRequests[0].Id, "1");
            Assert.Equal(rpcRequests[0].Method, "one");
            Assert.Equal(rpcRequests[0].JsonRpcVersion, JsonRpcContants.JsonRpcVersion);
            Assert.Equal(rpcRequests[0].ParameterList, new object[] { "1" });

            Assert.Equal(rpcRequests[1].Id, "2");
            Assert.Equal(rpcRequests[1].Method, "two");
            Assert.Equal(rpcRequests[1].JsonRpcVersion, JsonRpcContants.JsonRpcVersion);
            Assert.Equal(rpcRequests[1].ParameterList, new object[] { "2" });
            Assert.True(isBulkRequest);
        }
Exemplo n.º 2
0
        public void ParseRequests_Valid(string json, object id, string method, object[] parameters)
        {
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            RpcRequest rpcRequest = parser.ParseRequests(json, out isBulkRequest).FirstOrDefault();

            Assert.NotNull(rpcRequest);
            Assert.Equal(rpcRequest.Id, id);
            Assert.Equal(rpcRequest.Method, method);
            Assert.Equal(rpcRequest.JsonRpcVersion, JsonRpcContants.JsonRpcVersion);
            Assert.Equal(rpcRequest.ParameterList, parameters);
            Assert.Equal(false, isBulkRequest);
        }
Exemplo n.º 3
0
        public void ParseRequests_NullRequest_InvalidRequestException()
        {
            const string json = null;
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            Assert.Throws<RpcInvalidRequestException>(() => parser.ParseRequests(json, out isBulkRequest));
        }
Exemplo n.º 4
0
        public void ParseRequests_MissingVersion_InvalidRequestException()
        {
            const string json = "{\"method\": \"datetime\", \"params\": [\"2000-12-15T22:11:03\"], \"id\": \"1\"}";
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            Assert.Throws<RpcInvalidRequestException>(() => parser.ParseRequests(json, out isBulkRequest));
        }
Exemplo n.º 5
0
        public void ParseRequests_MissingParams_NoException()
        {
            const string json = "{\"method\": \"datetime\",\"jsonrpc\": \"2.0\", \"id\": \"1\"}";
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            parser.ParseRequests(json, out isBulkRequest);
            Assert.Equal(false, isBulkRequest);
        }
Exemplo n.º 6
0
        public void ParseRequests_MissingId_NoException()
        {
            const string json = "{\"method\": \"datetime\", \"jsonrpc\": \"2.0\", \"params\": [\"2000-12-15T22:11:03\"]}";
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            parser.ParseRequests(json, out isBulkRequest);
            Assert.Equal(false, isBulkRequest);
        }
Exemplo n.º 7
0
        public void ParseRequests_DateTime_Valid()
        {
            const string json = "{\"jsonrpc\": \"2.0\", \"method\": \"datetime\", \"params\": [\"2000-12-15T22:11:03\"], \"id\": 1}";
            DateTime dateTime = DateTime.Parse("2000-12-15T22:11:03");
            DefaultRpcParser parser = new DefaultRpcParser(null);

            bool isBulkRequest;
            RpcRequest rpcRequest = parser.ParseRequests(json, out isBulkRequest).FirstOrDefault();

            Assert.NotNull(rpcRequest);
            Assert.Equal(rpcRequest.Id, (long)1);
            Assert.Equal(rpcRequest.Method, "datetime");
            Assert.Equal(rpcRequest.JsonRpcVersion, JsonRpcContants.JsonRpcVersion);
            Assert.Equal(rpcRequest.ParameterList, new object[] { dateTime });
            Assert.False(isBulkRequest);
        }