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 == "*/*"));
        }
Exemple #2
0
        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));
            }
        }