Пример #1
0
            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);
                }
            }
Пример #2
0
 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());
 }
Пример #3
0
        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);
        }
Пример #4
0
 public RequestHandlerBuilder WithFieldResolutionStrategy(FieldResolutionStrategy strategy)
 {
     _fieldResolutionStrategy = strategy;
     return(this);
 }