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)); }