/// <summary> /// Handle the error code. /// </summary> /// <param name="statusCode">The HTTP status code.</param> /// <param name="context">Current context of the request.</param> /// <exception cref="ArgumentNullException"><paramref name="context"/> is <c>null</c>.</exception> public void Handle(HttpStatusCode statusCode, NancyContext context) { context = context ?? throw new ArgumentNullException(nameof(context)); var clientWantsHtml = ShouldReturnFriendlyErrorPage(context); if (!clientWantsHtml && context.Response is NotFoundResponse) { context.Response = ErrorJsonResponse.FromMessage(WebResources.ErrorResourceNotFound); } else { context.Response = new ErrorHtmlResponse(statusCode); } }
public async Task <HttpResponseMessage> Process(TFunctionParams @params, Func <TFunctionParams, Task <HttpResponseMessage> > next) { var(IsDeserialized, Body) = await @params.Request.TryDeserializeRequestBodyAsync(@params.BodyType); if (!IsDeserialized) { var result = new ErrorJsonResponse(HttpStatusCode.BadRequest, "Invalid JSON Body") { StatusCode = HttpStatusCode.BadRequest }; return(result); } return(await next(@params)); }