Beispiel #1
0
        private HttpResponseParameters GetResponseParametersFromBusinessException(BusinessException exception)
        {
            var result = new HttpResponseParameters
            {
                StatusCode = (int)HttpStatusCode.BadRequest
            };

            if (exception.Errors == null || exception.Errors.Count == 0)
            {
                result.ContentType = HttpResponseContentTypes.TextPlain;
                result.Content     = exception.Message.ToString();
            }
            else
            {
                result.ContentType = HttpResponseContentTypes.ApplicationJson;
                result.Content     = CreateJsonFromBusinessException(exception).ToString();
            }

            return(result);
        }
Beispiel #2
0
 public bool TryGetHttpStatusCodeForException(Exception exception, out HttpResponseParameters parameters)
 {
     if (exception is ArgumentOutOfRangeException)
     {
         parameters = new HttpResponseParameters
         {
             StatusCode  = (int)HttpStatusCode.NotFound,
             ContentType = HttpResponseContentTypes.TextPlain,
             Content     = exception.Message
         };
         return(true);
     }
     else if (exception is ArgumentException)
     {
         parameters = new HttpResponseParameters
         {
             StatusCode  = (int)HttpStatusCode.BadRequest,
             ContentType = HttpResponseContentTypes.TextPlain,
             Content     = exception.Message
         };
         return(true);
     }
     else if (exception is BusinessException)
     {
         parameters = GetResponseParametersFromBusinessException((BusinessException)exception);
         return(true);
     }
     else
     {
         parameters = new HttpResponseParameters
         {
             StatusCode  = (int)HttpStatusCode.InternalServerError,
             ContentType = HttpResponseContentTypes.TextPlain,
             Content     = DefaultErrorMessage
         };
         return(true);
     }
 }
Beispiel #3
0
 private async Task MapExceptionToHttpResponse(HttpContext context, HttpResponseParameters parameters)
 {
     context.Response.StatusCode  = parameters.StatusCode;
     context.Response.ContentType = parameters.ContentType;
     await context.Response.WriteAsync(parameters.Content);
 }