示例#1
0
 /// <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));
 }
示例#2
0
 /// <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;
 }
示例#5
0
        /// <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);
        }
示例#6
0
 /// <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;
 }
示例#7
0
 /// <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));
 }
示例#8
0
 /// <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));
 }