internal RequestHandlerImpl( IDependencyInjector dependencyInjector, IEnumerable <Type> schemaTypes, IEnumerable <Type> assemblyTypes, IEnumerable <Type> exceptionsTreatedAsWarning, bool useValidation, bool useProfiling, FieldResolutionStrategy fieldResolutionStrategy, ComplexityConfiguration complexityConfiguration, IEnumerable <Type> middleware, ITypeResolver typeResolver) { _engine = new GraphQLEngine(typeResolver: typeResolver); _dependencyInjector = dependencyInjector; _engine.WithAttributesFromAssemblies(assemblyTypes); _exceptionsTreatedAsWarnings.AddRange(exceptionsTreatedAsWarning); _useValidation = useValidation; _useProfiling = useProfiling; _engine.WithFieldResolutionStrategy(fieldResolutionStrategy); _engine.BuildSchema(schemaTypes.ToArray()); _complexityConfiguration = complexityConfiguration; foreach (var type in middleware) { _engine.WithMiddleware(type); } }
internal RequestHandlerImpl( IDependencyInjector dependencyInjector, IEnumerable <Type> schemaTypes, IEnumerable <Type> assemblyTypes, IEnumerable <Type> exceptionsTreatedAsWarning, bool useValidation, bool outputViolationsAsWarnings, FieldResolutionStrategy fieldResolutionStrategy) { _dependencyInjector = dependencyInjector; _engine.WithAttributesFromAssemblies(assemblyTypes); _exceptionsTreatedAsWarnings.AddRange(exceptionsTreatedAsWarning); _useValidation = useValidation; _outputViolationsAsWarnings = outputViolationsAsWarnings; _engine.WithFieldResolutionStrategy(fieldResolutionStrategy); _engine.BuildSchema(schemaTypes.ToArray()); }
public GraphQLEngine WithFieldResolutionStrategy(FieldResolutionStrategy strategy) { switch (strategy) { default: _graphTypeAdapter.FieldResolverFactory = fieldInfo => new FieldResolver(fieldInfo); break; case FieldResolutionStrategy.WrappedAsynchronous: _graphTypeAdapter.FieldResolverFactory = fieldInfo => new WrappedAsyncFieldResolver(fieldInfo); break; case FieldResolutionStrategy.WrappedSynchronous: _graphTypeAdapter.FieldResolverFactory = fieldInfo => new WrappedSyncFieldResolver(fieldInfo); break; } return(this); }
public RequestHandlerBuilder WithFieldResolutionStrategy(FieldResolutionStrategy strategy) { _fieldResolutionStrategy = strategy; return(this); }