public GraphQLHttpClient(IGraphQLHttpExecutor httpExecutor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization)
 {
     HttpExecutor    = httpExecutor ?? throw new ArgumentNullException(nameof(httpExecutor));
     FieldBuilder    = fieldBuilder ?? throw new ArgumentNullException(nameof(fieldBuilder));
     QueryGenerator  = queryGenerator ?? throw new ArgumentNullException(nameof(queryGenerator));
     Deserialization = deserialization ?? throw new ArgumentNullException(nameof(deserialization));
 }
 public GraphQLSubscriptionWebSocketClient(IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization, CancellationToken cancellationToken)
 {
     _cancellationToken = cancellationToken;
     _webSocket.Options.AddSubProtocol("graphql-ws");
     this.fieldBuilder    = fieldBuilder;
     this.queryGenerator  = queryGenerator;
     this.deserialization = deserialization;
 }
Exemple #3
0
 public GraphQLSubscriptionClient(WebSocket webSocket, CancellationToken cancellationToken, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization)
 {
     WebSocket          = webSocket;
     FieldBuilder       = fieldBuilder;
     QueryGenerator     = queryGenerator;
     Deserialization    = deserialization;
     _cancellationToken = cancellationToken;
 }
 public GraphQLBatchMerger(string url, HttpMethod httpMethod, string authorizationToken, string authorizationMethod, IGraphQLHttpExecutor executor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator)
 {
     _url                 = url;
     _httpMethod          = httpMethod;
     _authorizationToken  = authorizationToken;
     _authorizationMethod = authorizationMethod;
     _executor            = executor;
     _fieldBuilder        = fieldBuilder;
     _queryGenerator      = queryGenerator;
     _fields              = new Dictionary <string, IEnumerable <GraphQLFieldWithOverridedAlias> >();
     _arguments           = new Dictionary <string, GraphQLQueryArgument[]>();
 }
Exemple #5
0
 public GraphQLBatchMerger(GraphQLOperationType graphQLOperationType, string url, HttpMethod httpMethod, IDictionary <string, string> headers, string authorizationToken, string authorizationMethod, IGraphQLHttpExecutor executor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization graphQLDeserialization)
 {
     _graphQLOperationType = graphQLOperationType;
     _url                    = url;
     _httpMethod             = httpMethod;
     _headers                = headers;
     _authorizationToken     = authorizationToken;
     _authorizationMethod    = authorizationMethod;
     _executor               = executor;
     _fieldBuilder           = fieldBuilder;
     _queryGenerator         = queryGenerator;
     _graphQLDeserialization = graphQLDeserialization;
     _fields                 = new Dictionary <string, IEnumerable <GraphQLFieldWithOverridedAlias> >();
     _arguments              = new Dictionary <string, GraphQLQueryArgumentWithOverriddenVariable[]>();
 }
 public DirectiveTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #7
0
 public SubscriptionIntegrationTests()
 {
     _fieldBuilder   = new GraphQLFieldBuilder();
     _queryGenerator = new GraphQLQueryGeneratorFromFields();
 }
 public TestGraphQLMaxDeptAttribute()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
 public PathTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #10
0
 public NonNestedArgumentTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #11
0
 public GraphQLHttpClient(IGraphQLHttpExecutor httpExecutor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization)
     : this(httpExecutor, fieldBuilder, queryGenerator, deserialization, null)
 {
 }
 /// <summary>
 /// Initilizes a new instance of GraphQL client which supports generating GraphQL queries and mutations from a <see cref="Type"/>
 /// </summary>
 /// <param name="executor">The <see cref="IGraphQLHttpExecutor"/> to use for the GraphQL client</param>
 /// <param name="fieldBuilder">The <see cref="IGraphQLFieldBuilder"/> used for generating the fields used for generating the query</param>
 /// <param name="queryGenerator">The <see cref="IGraphQLQueryGeneratorFromFields"/> used for the GraphQL client</param>
 public GraphQLHttpClient(IGraphQLHttpExecutor executor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator)
 {
     _executor       = executor ?? throw new ArgumentNullException(nameof(executor));
     _fieldBuilder   = fieldBuilder ?? throw new ArgumentNullException(nameof(fieldBuilder));
     _queryGenerator = queryGenerator ?? throw new ArgumentNullException(nameof(queryGenerator));
 }
 public GraphQLSubscriptionWebSocketClient(IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization, CancellationToken cancellationToken) :
     this(new ClientWebSocket(), fieldBuilder, queryGenerator, deserialization, cancellationToken)
 {
 }
        /// <summary>
        /// Builds a GraphQL mutation from the specified <see cref="Type"/> and the <see cref="GraphQLQueryArgument"/>s
        /// </summary>
        /// <typeparam name="T">The type to generate the mutation from</typeparam>
        /// <param name="queryGenerator">The queryGenerator used to generate the query</param>
        /// <param name="fieldBuilder">The fieldBuilder used for examining the type</param>
        /// <param name="arguments">The argument values which is inserted using a variable on specified arguments with the <see cref="GraphQLArgumentsAttribute"/></param>
        /// <returns>The generated mutation</returns>
        public static string GetMutation <T>(this IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLFieldBuilder fieldBuilder,
                                             params GraphQLQueryArgument[] arguments)
        {
            if (queryGenerator == null)
            {
                throw new ArgumentNullException(nameof(queryGenerator));
            }
            if (fieldBuilder == null)
            {
                throw new ArgumentNullException(nameof(fieldBuilder));
            }
            var fields = fieldBuilder.GetFields(typeof(T));

            return(queryGenerator.GetMutation(fields, arguments));
        }
Exemple #15
0
 internal GraphQLBatch(string url, HttpMethod httpMethod, string authorizationToken, string authorizationMethod, IGraphQLHttpExecutor executor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator)
 {
     _batch = new GraphQLBatchMerger(url, httpMethod, authorizationToken, authorizationMethod, executor, fieldBuilder, queryGenerator);
 }
Exemple #16
0
        /// <summary>
        /// Builds a GraphQL mutation from the specified <see cref="Type"/> and the <see cref="GraphQLQueryArgument"/>s
        /// </summary>
        /// <typeparam name="T">The type to generate the mutation from</typeparam>
        /// <param name="queryGenerator">The queryGenerator used to generate the query</param>
        /// <param name="fieldBuilder">The fieldBuilder used for examining the type</param>
        /// <param name="arguments">The argument values which is inserted using a variable on specified arguments with the <see cref="GraphQLArgumentsAttribute"/></param>
        /// <returns>The generated mutation</returns>
        public static string GetMutation <T>(this IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLFieldBuilder fieldBuilder,
                                             params GraphQLQueryArgument[] arguments)
        {
            if (queryGenerator == null)
            {
                throw new ArgumentNullException(nameof(queryGenerator));
            }
            if (fieldBuilder == null)
            {
                throw new ArgumentNullException(nameof(fieldBuilder));
            }
            var selectionSet = fieldBuilder.GenerateSelectionSet(typeof(T));

            return(queryGenerator.GenerateQuery(GraphQLOperationType.Mutation, selectionSet, arguments));
        }
 public NestedGraphQLArgumentsAttributes()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
 public DirectiveTest()
 {
     _fieldBuilder   = new GraphQLFieldBuilder();
     _queryGenerator = new GraphQLQueryGeneratorFromFields();
 }
Exemple #19
0
 public InheritanceTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #20
0
 public NestedIntegrationTests()
 {
     _queryGenerator = new GraphQLQueryGeneratorFromFields();
     _fieldBuilder   = new GraphQLFieldBuilder();
     _deserilization = new GraphQLDeserilization();
 }
 public Nested1Test()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
 public NonNestedFieldBuilder2IntTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
        private static IEnumerable <ValidationError> ValidateGraphQLType <T>(this GraphQLIntrospectionSchema graphQLIntrospectionSchema, GraphQLOperationType operationType, IGraphQLFieldBuilder fieldBuilder)
        {
            if (fieldBuilder is null)
            {
                throw new ArgumentNullException(nameof(fieldBuilder));
            }

            var validator = new GraphQLValidation();

            return(validator.ValidateGraphQLSelectionSet(graphQLIntrospectionSchema, operationType, fieldBuilder.GenerateSelectionSet(typeof(T))));
        }
Exemple #24
0
 public NonNestedFieldBuilder2StringsTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #25
0
 public QueryGeneratorIntrationTests()
 {
     _fieldBuilder   = new GraphQLFieldBuilder();
     _queryGenerator = new GraphQLQueryGeneratorFromFields();
 }
 public DefaultArgumentIntegrationTests()
 {
     _fieldBuilder   = new GraphQLFieldBuilder();
     _queryGenerator = new GraphQLQueryGeneratorFromFields();
 }
 public GraphQLArgumentsAttributeTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
Exemple #28
0
 internal GraphQLBatch(GraphQLOperationType graphQLOperationType, string url, HttpMethod httpMethod, IDictionary <string, string> headers, string authorizationToken, string authorizationMethod, IGraphQLHttpExecutor executor, IGraphQLFieldBuilder fieldBuilder, IGraphQLQueryGeneratorFromFields queryGenerator, IGraphQLDeserialization deserialization)
 {
     _batch = new GraphQLBatchMerger(graphQLOperationType, url, httpMethod, headers, authorizationToken, authorizationMethod, executor, fieldBuilder, queryGenerator, deserialization);
 }
Exemple #29
0
 public EnuerableTest()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }
 public TestCircularReference()
 {
     _fieldBuilder = new GraphQLFieldBuilder();
 }