private async Task <T> GetAsync <T>(
            string query,
            string name)
        {
            var result = await _client.GetQueryAsync(query);

            if (result == null)
            {
                return(default);
Beispiel #2
0
        public static async Task <T> GetAsync <T>(string endpoint, string query, string section, CancellationToken?token = null)
        {
            var gqlClient = new GraphQLClient(endpoint, new GraphQLClientOptions {
                MediaType = new MediaTypeHeaderValue("application/json")
            });

            try
            {
                var gqlResponse = await gqlClient.GetQueryAsync(query, token ?? CancellationToken.None);

                if (gqlResponse.Errors?.Length > 0)
                {
                    throw new GraphQLException(gqlResponse.Errors[0]);
                }

                var result = gqlResponse.GetDataFieldAs <T>(section);
                return(result);
            }
            finally
            {
                gqlClient.Dispose();
            }
        }