public static RouteSpecRequestBody GetBodySpec(this RouteContext context) { if (context.Request == null) { throw new Exception("Unable to get body without RequestContext.Request"); } var contentType = context.Request.ContentType; return(context.Spec.Bodies.FirstOrDefault(x => x.ContentType == contentType || x.ContentType == "*/*")); }
private Task HandleRequest(RouteContext requestContext, HttpResponse httpResponse) { return(requestContext.Handler.HandleAsync(requestContext).ContinueWith(HandleResponseAsync).Unwrap()); Task HandleResponseAsync(Task <ResponseContext> x) { if (x.IsCompletedSuccessfully) { return(x.Result == null?HandleNullResponse(httpResponse) : HandleResponse(httpResponse, x.Result)); } var exception = x.Exception.InnerException; return(HandleException(httpResponse, exception)); } }