public static IApplicationBuilder UseGraphQLHttpGet(
            this IApplicationBuilder applicationBuilder,
            IServiceProvider serviceProvider,
            IHttpGetMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            IQueryExecutor executor = serviceProvider
                                      .GetRequiredService <IQueryExecutor>();

            IQueryResultSerializer serializer = serviceProvider
                                                .GetRequiredService <IQueryResultSerializer>();

            OwinContextAccessor contextAccessor =
                serviceProvider.GetService <OwinContextAccessor>();

            return(applicationBuilder.Use <HttpGetMiddleware>(
                       options, contextAccessor, executor, serializer));
        }
        public static IApplicationBuilder UseGraphQL(
            this IApplicationBuilder applicationBuilder,
            IServiceProvider serviceProvider,
            QueryMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var executer = (IQueryExecuter)serviceProvider
                           .GetService(typeof(IQueryExecuter));

            var serializer = (IQueryResultSerializer)serviceProvider
                             .GetService(typeof(IQueryResultSerializer))
                             ?? new JsonQueryResultSerializer();

            return(applicationBuilder
                   .Use <PostQueryMiddleware>(executer, serializer, options)
                   .Use <GetQueryMiddleware>(executer, serializer, options)
                   //.Use<SubscriptionMiddleware>(executer, options)
                   .Use <SchemaMiddleware>(executer, options));
        }
Пример #3
0
        public static IApplicationBuilder UseGraphQLHttpGetSchema(
            this IApplicationBuilder applicationBuilder,
            IServiceProvider serviceProvider,
            IHttpGetSchemaMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            IQueryExecutor executor = serviceProvider
                                      .GetRequiredService <IQueryExecutor>();

            return(applicationBuilder.Use <HttpGetSchemaMiddleware>(
                       options, executor));
        }
Пример #4
0
        public static IApplicationBuilder UseGraphQLHttpPost(
            this IApplicationBuilder applicationBuilder,
            IServiceProvider serviceProvider,
            IHttpPostMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            IQueryExecutor executor = serviceProvider
                                      .GetRequiredService <IQueryExecutor>();

            IBatchQueryExecutor batchQueryExecutor = serviceProvider
                                                     .GetRequiredService <IBatchQueryExecutor>();

            IQueryResultSerializer resultSerializer = serviceProvider
                                                      .GetRequiredService <IQueryResultSerializer>();

            IResponseStreamSerializer streamSerializer = serviceProvider
                                                         .GetRequiredService <IResponseStreamSerializer>();

            IDocumentCache documentCache = serviceProvider
                                           .GetRequiredService <IDocumentCache>();

            IDocumentHashProvider documentHashProvider = serviceProvider
                                                         .GetRequiredService <IDocumentHashProvider>();

            OwinContextAccessor contextAccessor =
                serviceProvider.GetService <OwinContextAccessor>();

            return(applicationBuilder.Use <HttpPostMiddleware>(
                       options, contextAccessor,
                       executor, batchQueryExecutor,
                       resultSerializer, streamSerializer,
                       documentCache, documentHashProvider));
        }
Пример #5
0
        public static IApplicationBuilder UseGraphQL(
            this IApplicationBuilder applicationBuilder,
            IServiceProvider serviceProvider,
            QueryMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            IQueryExecutor executor = serviceProvider
                                      .GetService <IQueryExecutor>();

            IQueryResultSerializer serializer = serviceProvider
                                                .GetService <IQueryResultSerializer>()
                                                ?? new JsonQueryResultSerializer();

            IDocumentCache cache = serviceProvider
                                   .GetRequiredService <IDocumentCache>();

            IDocumentHashProvider hashProvider = serviceProvider
                                                 .GetRequiredService <IDocumentHashProvider>();

            return(applicationBuilder
                   .Use <PostQueryMiddleware>(executor, serializer, cache, hashProvider, options)
                   .Use <GetQueryMiddleware>(executor, serializer, options)
                   .Use <SchemaMiddleware>(executor, options));
        }
Пример #6
0
 private static void Startup(Owin.IAppBuilder app)
 {
     //这里通过app句柄,为当前Server加入所有需要的middleware
     Console.WriteLine("Sample Middleware loaded...");
     app.Use <SampleMiddleware>();
 }
Пример #7
0
 private static void Startup(Owin.IAppBuilder app)
 {
     app.Use <blqw.MIS.Owin.MISMiddleware>();
 }