public static IApplicationBuilder UseGraphQL(
            this IApplicationBuilder applicationBuilder,
            QueryMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

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

            return(applicationBuilder
                   .UseMiddleware <PostQueryMiddleware>(options)
                   .UseMiddleware <GetQueryMiddleware>(options)
                   .UseMiddleware <SubscriptionMiddleware>(options));
        }