Пример #1
0
        async Task <ExecutionResult> Execute(Data.TaskContext dataContext, string query, string operationName, JObject variables, CancellationToken cancellation)
        {
            var executionOptions = new ExecutionOptions
            {
                Schema            = schema,
                Query             = query,
                OperationName     = operationName,
                Inputs            = variables?.ToInputs(),
                UserContext       = dataContext,
                CancellationToken = cancellation,
    #if (DEBUG)
                ExposeExceptions = true,
                EnableMetrics    = true,
    #endif
            };

            var result = await executer.ExecuteAsync(executionOptions).ConfigureAwait(false);

            if (result.Errors?.Count > 0)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
            }

            return(result);
        }
Пример #2
0
 public Task <ExecutionResult> Post(
     [BindRequired, FromBody] PostBody body,
     [FromServices] Data.TaskContext dataContext,
     CancellationToken cancellation)
 {
     return(Execute(dataContext, body.Query, body.OperationName, body.Variables, cancellation));
 }