public static IQueryExecutionBuilder UseDefaultPipeline( this IQueryExecutionBuilder builder, IQueryExecutionOptionsAccessor options) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } return(builder .AddOptions(options) .AddErrorHandler() .AddQueryValidation() .AddDefaultValidationRules() .AddQueryCache(options.QueryCacheSize) .AddExecutionStrategyResolver() .AddDefaultParser() .UseInstrumentation(options.TracingPreference) .UseRequestTimeout() .UseExceptionHandling() .UseQueryParser() .UseValidation() .UseOperationResolver() .UseMaxComplexity() .UseOperationExecutor()); }
public static IQueryExecutionBuilder UseQueryDelegationPipeline( this IQueryExecutionBuilder builder, IQueryExecutionOptionsAccessor options, string schemaName) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (string.IsNullOrEmpty(schemaName)) { throw new ArgumentException( "The schema name mustn't be null or empty.", nameof(schemaName)); } return(builder .AddOptions(options) .AddErrorHandler() .AddDefaultParser() .UseRequestTimeout() .UseExceptionHandling() .UseRemoteQueryExecutor(schemaName)); }
private static IQueryExecutionBuilder AddDefaultServices( this IQueryExecutionBuilder builder, IQueryExecutionOptionsAccessor options) { return(builder .AddOptions(options) .AddErrorHandler() .AddQueryValidation() .AddDefaultValidationRules() .AddQueryCache(options.QueryCacheSize) .AddExecutionStrategyResolver() .AddDefaultParser() .AddDefaultDocumentHashProvider()); }
public static IQueryExecutionBuilder AddDefaultServices( this IQueryExecutionBuilder builder, IQueryExecutionOptionsAccessor options) { IValidationBuilder validation = builder.Services.AddValidation(); if (options.MaxExecutionDepth.HasValue) { validation.AddMaxExecutionDepthRule(options.MaxExecutionDepth.Value); } if (options.MaxOperationComplexity.HasValue) { validation.AddMaxComplexityRule(options.MaxOperationComplexity.Value); } return builder .AddOptions(options) .AddErrorHandler() .AddQueryCache(options.QueryCacheSize) .AddExecutionStrategyResolver() .AddDefaultParser() .AddDefaultDocumentHashProvider(); }