internal static void AddDefaultPipeline(this IList <RequestCoreMiddleware> pipeline) { pipeline.Add(RequestClassMiddlewareFactory.Create <InstrumentationMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <ExceptionMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <DocumentCacheMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <DocumentParserMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <DocumentValidationMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <OperationCacheMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <OperationResolverMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <OperationVariableCoercionMiddleware>()); pipeline.Add(RequestClassMiddlewareFactory.Create <OperationExecutionMiddleware>()); }
/// <summary> /// Adds a type that will be used to create a middleware for the execution pipeline. /// </summary> /// <param name="builder">The <see cref="IRequestExecutorBuilder"/>.</param> /// <param name="middleware">A type that is used to create a middleware for the execution pipeline.</param> /// <returns>An <see cref="IRequestExecutorBuilder"/> that can be used to configure a schema and its execution.</returns> public static IRequestExecutorBuilder UseRequest <TMiddleware>( this IRequestExecutorBuilder builder) where TMiddleware : class { if (builder is null) { throw new ArgumentNullException(nameof(builder)); } return(Configure( builder, options => options.Pipeline.Add( RequestClassMiddlewareFactory.Create <TMiddleware>()))); }