public void ApplyTo(ISchema schema) { schema.AllTypes.Apply(item => { var complex = item as IComplexGraphType; complex?.Fields.Apply(field => { var resolver = new MiddlewareResolver(field.Resolver); FieldMiddlewareDelegate app = context => resolver.Resolve(context); app = Build(app); field.Resolver = new FuncFieldResolver <object>(context => { try { var result = app.Invoke(context); result.ConfigureAwait(false); return(result.Result); } catch (AggregateException ex) { throw new Exception(ex.InnerException.Message, ex.InnerException); } }); }); }); }
public void ApplyTo(ISchema schema) { schema.AllTypes.Apply(item => { var complex = item as IComplexGraphType; complex?.Fields.Apply(field => { var resolver = new MiddlewareResolver(field.Resolver); FieldMiddlewareDelegate app = context => resolver.Resolve(context); app = Build(app); field.Resolver = new FuncFieldResolver <Task <object> >(context => app.Invoke(context)); }); }); }