public Task Execute(HttpContext context, ObjectResult result)
        {
            Ensure.Any.IsNotNull(context, nameof(context));
            Ensure.Any.IsNotNull(result, nameof(result));

            if (context.Response.HasStarted)
            {
                throw new InvalidOperationException(Resources.ResultExecutor_ResponseStarted);
            }

            context.Response.Clear();

            if (result.StatusCode != null)
            {
                context.Response.StatusCode = result.StatusCode.Value;
            }

            var actionContext = new ActionContext
            {
                HttpContext = context
            };

            return(_oex.ExecuteAsync(actionContext, result));
        }
Beispiel #2
0
 private static async Task WriteResponseBodyAsync(HttpContext context, Problem problem, ObjectResultExecutor objectResultExecutor)
 {
     var actionContext = new ActionContext(context, new RouteData(), new ActionDescriptor());
     var objectResult  = new ObjectResult(problem);
     await objectResultExecutor.ExecuteAsync(actionContext, objectResult);
 }