Ejemplo n.º 1
0
 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>())));
    }