LightNode.Server.OperationHandler.InvokeRecursive C# (CSharp) Method

InvokeRecursive() private method

private InvokeRecursive ( int index, IReadOnlyList filters, ILightNodeOptions options, OperationContext context, IOperationCoordinator coordinator ) : System.Threading.Tasks.Task
index int
filters IReadOnlyList
options ILightNodeOptions
context OperationContext
coordinator IOperationCoordinator
return System.Threading.Tasks.Task
        Task InvokeRecursive(int index, IReadOnlyList<LightNodeFilterAttribute> filters, ILightNodeOptions options, OperationContext context, IOperationCoordinator coordinator)
        {
            index += 1;
            if (filters.Count != index)
            {
                // chain next filter
                return filters[index].Invoke(context, () => InvokeRecursive(index, filters, options, context, coordinator));
            }
            else
            {
                // execute operation
                return coordinator.ExecuteOperation(options, context, ExecuteOperation);
            }
        }