Example #1
0
 public override Task <object> Execute(IResolutionContext context, FieldResolutionDelegate next)
 {
     if (_random.Next(0, 100) > _successRate)
     {
         var path = $"{context.FieldInfo.DeclaringType.Name}.{context.FieldInfo.Name}";
         throw new ChaosException($"Only {_successRate} % of requests will succeed.", path);
     }
     return(next(context));
 }
        public override async Task <object> Execute(IResolutionContext context, FieldResolutionDelegate next)
        {
            var output = await next(context).ConfigureAwait(false);

            var input = Unwrap(context.GetArgument("input"));

            if (input is IRelayMutationInputObject inputObj && output is IRelayMutationOutputObject outputObj)
            {
                outputObj.ClientMutationId = inputObj.ClientMutationId;
            }

            return(output);
        }
 public virtual Task <object> Execute(IResolutionContext context, FieldResolutionDelegate next)
 {
     return(next(context));
 }