public HttpPostMiddleware(
            RequestDelegate next,
            IHttpPostMiddlewareOptions options,
            OwinContextAccessor owinContextAccessor,
            IQueryExecutor queryExecutor,
            IBatchQueryExecutor batchQueryExecutor,
            IQueryResultSerializer resultSerializer,
            IResponseStreamSerializer streamSerializer,
            IDocumentCache documentCache,
            IDocumentHashProvider documentHashProvider)
            : base(next,
                   options,
                   owinContextAccessor,
                   queryExecutor.Schema.Services,
                   resultSerializer)
        {
            _queryExecutor = queryExecutor
                             ?? throw new ArgumentNullException(nameof(queryExecutor));
            _batchExecutor = batchQueryExecutor
                             ?? throw new ArgumentNullException(nameof(batchQueryExecutor));
            _resultSerializer = resultSerializer
                                ?? throw new ArgumentNullException(nameof(resultSerializer));
            _streamSerializer = streamSerializer
                                ?? throw new ArgumentNullException(nameof(streamSerializer));

            _requestHelper = new RequestHelper(
                documentCache,
                documentHashProvider,
                options.MaxRequestSize,
                options.ParserOptions);
        }
Example #2
0
        protected QueryMiddlewareBase(
            RequestDelegate next,
            IPathOptionAccessor options,
            OwinContextAccessor owinContextAccessor,
            IServiceProvider services,
            IQueryResultSerializer serializer,
            IErrorHandler errorHandler)
            : base(next)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _accessor = owinContextAccessor;
            _services = services
                        ?? throw new ArgumentNullException(nameof(services));
            _serializer = serializer
                          ?? throw new ArgumentNullException(nameof(serializer));
            ErrorHandler = errorHandler
                           ?? throw new ArgumentNullException(nameof(serializer));

            if (options.Path.Value.Length > 1)
            {
                var        path1 = new PathString(options.Path.Value.TrimEnd('/'));
                PathString path2 = path1.Add(new PathString("/"));
                _isPathValid = ctx => ctx.IsValidPath(path1, path2);
            }
            else
            {
                _isPathValid = ctx => ctx.IsValidPath(options.Path);
            }
        }
 public HttpGetMiddleware(
     RequestDelegate next,
     IHttpGetMiddlewareOptions options,
     OwinContextAccessor owinContextAccessor,
     IQueryExecutor queryExecutor,
     IQueryResultSerializer resultSerializer)
     : base(next,
            options,
            owinContextAccessor,
            queryExecutor.Schema.Services)
 {
     _queryExecutor = queryExecutor
                      ?? throw new ArgumentNullException(nameof(queryExecutor));
     _resultSerializer = resultSerializer
                         ?? throw new ArgumentNullException(nameof(resultSerializer));
 }
Example #4
0
        /// <summary>
        /// Instantiates the base query middleware with an optional pointer to
        /// the next component.
        /// </summary>
        /// <param name="next">
        /// An optional pointer to the next component.
        /// </param>
        /// <param name="queryExecutor">
        /// A required query executor resolver.
        /// </param>
        /// <param name="resultSerializer">
        /// </param>
        /// <param name="options">
        /// </param>
        protected QueryMiddlewareBase(
            RequestDelegate next,
            IQueryExecutor queryExecutor,
            IQueryResultSerializer resultSerializer,
            QueryMiddlewareOptions options)
#if ASPNETCLASSIC
                : base(next)
#endif
        {
#if !ASPNETCLASSIC
            Next = next;
#endif
            Executor = queryExecutor ??
                throw new ArgumentNullException(nameof(queryExecutor));
            _resultSerializer = resultSerializer
                ?? throw new ArgumentNullException(nameof(resultSerializer));
            Options = options ??
                throw new ArgumentNullException(nameof(options));

            if (Options.Path.Value.Length > 1)
            {
                var path1 = new PathString(options.Path.Value.TrimEnd('/'));
                PathString path2 = path1.Add(new PathString("/"));
                _isPathValid = ctx => ctx.IsValidPath(path1, path2);
            }
            else
            {
                _isPathValid = ctx => ctx.IsValidPath(options.Path);
            }

#if ASPNETCLASSIC
            _accessor = queryExecutor.Schema.Services
                .GetService<IOwinContextAccessor>()
                as OwinContextAccessor;
#endif
        }