123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using JsonRPC4.Common;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace JsonRPC4.Router
- {
- public class ParsingResult
- {
- public List<RpcRequest> Requests
- {
- get;
- }
- public List<(RpcId Id, RpcError Error)> Errors
- {
- get;
- }
- public bool IsBulkRequest
- {
- get;
- }
- public int RequestCount => Requests.Count + Errors.Count;
- public ParsingResult(List<RpcRequest> requests, List<(RpcId, RpcError)> errors, bool isBulkRequest)
- {
- Requests = requests;
- Errors = errors;
- IsBulkRequest = isBulkRequest;
- }
- internal static ParsingResult FromResults(List<RpcRequestParseResult> results, bool isBulkRequest)
- {
- List<RpcRequest> list = new List<RpcRequest>();
- List<(RpcId, RpcError)> list2 = new List<(RpcId, RpcError)>();
- foreach (RpcRequestParseResult result in results)
- {
- if (result.Error != null)
- {
- list2.Add((result.Id, result.Error));
- }
- else
- {
- list.Add(new RpcRequest(result.Id, result.Method, result.Parameters));
- }
- }
- isBulkRequest = (isBulkRequest || list.Count + list2.Count > 1);
- return new ParsingResult(list, list2, isBulkRequest);
- }
- }
- }
|