Beispiel #1
0
        public void OnException(IExceptionContext exceptionContext)
        {
            var context = (HttpActionExecutedContext)exceptionContext.Context;
            IExceptionAdapter exceptionAdapter = exceptionAdapterFactory.GetAdapter(context.Exception);
            var response = context.Request.CreateResponse(exceptionAdapter.HttpStatusCode, exceptionAdapter.Content);

            if (exceptionAdapter.ExtraHeaders != null)
            {
                foreach (var headerItem in exceptionAdapter.ExtraHeaders)
                {
                    response.Headers.Add(headerItem.Key, headerItem.Value);
                }
            }
            context.Response = response;
        }
        public void OnException(IExceptionContext exceptionContext)
        {
            var context = (ExceptionContext)exceptionContext;
            IExceptionAdapter exceptionAdapter = exceptionAdapterFactory.GetAdapter(context.Exception);

            context.FilterContext.HttpContext.Response.StatusCode = (int)exceptionAdapter.HttpStatusCode;

            var response = new HttpResponseMessage(exceptionAdapter.HttpStatusCode);

            if (exceptionAdapter.ExtraHeaders != null)
            {
                foreach (var headerItem in exceptionAdapter.ExtraHeaders)
                {
                    context.FilterContext.HttpContext.Response.Headers.Add(headerItem.Key, headerItem.Value);
                }
            }
            context.SetResult(new JsonResult(exceptionAdapter.Content));
        }