Ejemplo n.º 1
0
        public async Task InvokeAsync(IQueryContext context)
        {
            try
            {
                IHttpClientFactory httpClientFactory =
                    context.Services.GetRequiredService <IHttpClientFactory>();

                context.Result = await _client.FetchAsync(
                    context.Request,
                    httpClientFactory.CreateClient(_schemaName),
                    context.Services.GetServices <IHttpQueryRequestInterceptor>(),
                    context.RequestAborted)
                                 .ConfigureAwait(false);
            }
            catch (HttpRequestException ex)
            {
                IError error = _errorHandler.CreateUnexpectedError(ex)
                               .SetCode(ErrorCodes.HttpRequestException)
                               .Build();

                context.Exception = ex;
                context.Result    = QueryResultBuilder.CreateError(error);
            }

            await _next.Invoke(context).ConfigureAwait(false);
        }
Ejemplo n.º 2
0
        public async Task InvokeAsync(IQueryContext context)
        {
            IHttpClientFactory httpClientFactory =
                context.Services.GetRequiredService <IHttpClientFactory>();

            context.Result = await _client.FetchAsync(
                context.Request,
                httpClientFactory.CreateClient(_schemaName))
                             .ConfigureAwait(false);

            await _next.Invoke(context).ConfigureAwait(false);
        }
Ejemplo n.º 3
0
        public Task InvokeAsync(IQueryContext context)
        {
            IVariableValueCollection variables = context.Operation.Variables;
            var dict = new Dictionary <string, IValueNode>();

            foreach (string key in context.Request.VariableValues.Keys)
            {
                dict.Add(key, variables.GetVariable <IValueNode>(key));
            }

            context.SetVariables(dict);

            return(_next.Invoke(context));
        }
 public Task InvokeAsync(IQueryContext context)
 {
     if (context.Document is null)
     {
         context.Result = QueryResultBuilder.CreateError(
             _errorHandler.Handle(ErrorBuilder.New()
                                  .SetMessage("CachedQueryNotFound")
                                  .SetCode(ErrorCodes.Execution.CachedQueryNotFound)
                                  .Build()));
         return(Task.CompletedTask);
     }
     else
     {
         return(_next.Invoke(context));
     }
 }
 public Task InvokeAsync(IQueryContext context)
 {
     context.SetVariables(context.Request.VariableValues);
     return(_next.Invoke(context));
 }