/// <summary> /// Initializes a new instance of the <see cref="ExecuteQueryOperationMiddleware{TSchema}" /> class. /// </summary> /// <param name="schema">The schema.</param> /// <param name="fieldExecutionPipeline">The field execution pipeline.</param> public ExecuteQueryOperationMiddleware(TSchema schema, ISchemaPipeline <TSchema, GraphFieldExecutionContext> fieldExecutionPipeline) { _schema = Validation.ThrowIfNullOrReturn(schema, nameof(schema)); _awaitEachTask = _schema.Configuration.ExecutionOptions.AwaitEachRequestedField; _timeoutMs = _schema.Configuration.ExecutionOptions.QueryTimeout; _fieldExecutionPipeline = Validation.ThrowIfNullOrReturn(fieldExecutionPipeline, nameof(fieldExecutionPipeline)); }
/// <summary> /// Initializes a new instance of the <see cref="SecureGraphQLHttpProcessor{TSchema}" /> class. /// </summary> /// <param name="schema">The schema.</param> /// <param name="queryPipeline">The query pipeline.</param> /// <param name="writer">The writer.</param> /// <param name="metricsFactory">The metrics factory.</param> /// <param name="logger">The logger.</param> public SecureGraphQLHttpProcessor( TSchema schema, ISchemaPipeline <TSchema, GraphQueryExecutionContext> queryPipeline, IGraphResponseWriter <TSchema> writer, IGraphQueryExecutionMetricsFactory <TSchema> metricsFactory, IGraphEventLogger logger = null) : base(schema, queryPipeline, writer, metricsFactory, logger) { }
/// <summary> /// Initializes a new instance of the <see cref="SchemaPipelineRegisteredLogEntry{TSchema}" /> class. /// </summary> /// <param name="pipelineInstance">The pipeline instance that was created.</param> public SchemaPipelineRegisteredLogEntry(ISchemaPipeline pipelineInstance) : base(LogEventIds.SchemaPipelineInstanceCreated) { _schemaTypeShortName = typeof(TSchema).FriendlyName(); this.SchemaTypeName = typeof(TSchema).FriendlyName(true); this.PipelineName = pipelineInstance.Name; this.MiddlewareCount = pipelineInstance.MiddlewareComponentNames.Count; this.MiddlewareComponents = pipelineInstance.MiddlewareComponentNames.ToList(); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultGraphQLRuntime{TSchema}" /> class. /// </summary> /// <param name="pipeline">The top level pipeline to execute any requests on.</param> /// <param name="metricsFactory">The factory to produce metrics packages if and when needed.</param> /// <param name="logger">The logger used to record events during an execution.</param> public DefaultGraphQLRuntime( ISchemaPipeline <TSchema, GraphQueryExecutionContext> pipeline, IGraphQueryExecutionMetricsFactory <TSchema> metricsFactory = null, IGraphEventLogger logger = null) { _pipeline = Validation.ThrowIfNullOrReturn(pipeline, nameof(pipeline)); _logger = logger; _metricsFactory = metricsFactory; }
/// <inheritdoc /> public virtual void SchemaPipelineRegistered <TSchema>(ISchemaPipeline pipleine) where TSchema : class, ISchema { if (!this.IsEnabled(LogLevel.Debug)) { return; } var entry = new SchemaPipelineRegisteredLogEntry <TSchema>(pipleine); this.LogEvent(LogLevel.Debug, entry); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultGraphQLHttpProcessor{TSchema}" /> class. /// </summary> /// <param name="schema">The schema.</param> /// <param name="queryPipeline">The query pipeline.</param> /// <param name="writer">The writer.</param> /// <param name="metricsFactory">The metrics factory.</param> /// <param name="logger">The logger.</param> public DefaultGraphQLHttpProcessor( TSchema schema, ISchemaPipeline <TSchema, GraphQueryExecutionContext> queryPipeline, IGraphResponseWriter <TSchema> writer, IGraphQueryExecutionMetricsFactory <TSchema> metricsFactory, IGraphEventLogger logger = null) { _schema = Validation.ThrowIfNullOrReturn(schema, nameof(schema)); _queryPipeline = Validation.ThrowIfNullOrReturn(queryPipeline, nameof(queryPipeline)); _writer = Validation.ThrowIfNullOrReturn(writer, nameof(writer)); _metricsFactory = Validation.ThrowIfNullOrReturn(metricsFactory, nameof(metricsFactory)); _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="AuthorizeQueryOperationMiddleware{TSchema}"/> class. /// </summary> /// <param name="authPipeline">The authentication pipeline.</param> public AuthorizeQueryOperationMiddleware(ISchemaPipeline <TSchema, GraphFieldAuthorizationContext> authPipeline) { _authPipeline = Validation.ThrowIfNullOrReturn(authPipeline, nameof(authPipeline)); }
/// <summary> /// Initializes a new instance of the <see cref="ProcessChildFieldsMiddleware{TSchema}"/> class. /// </summary> /// <param name="schema">The schema.</param> /// <param name="fieldExecutionPipeline">The field execution pipeline.</param> public ProcessChildFieldsMiddleware(TSchema schema, ISchemaPipeline <TSchema, GraphFieldExecutionContext> fieldExecutionPipeline) { _schema = Validation.ThrowIfNullOrReturn(schema, nameof(schema)); _awaitEachPipeline = schema.Configuration.ExecutionOptions.AwaitEachRequestedField; _fieldExecutionPipeline = Validation.ThrowIfNullOrReturn(fieldExecutionPipeline, nameof(fieldExecutionPipeline)); }