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)); }
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); }