вот класс есть
/// <summary>
/// Отлов ошибок.
/// </summary>
public class ExceptionMiddleware : ExceptionFilterAttribute
{
public bool AllowMultiple => false;
public override void OnException(HttpActionExecutedContext context)
{
var actionContext = context.ActionContext;
if (actionContext != null)
{
// в UserAuthorize и UserRight атрибутах кидаются такие ошибки, и до пользователя доходила 500 ошибка
if (context.Exception is HttpResponseException ex &&
(ex.Response.StatusCode == HttpStatusCode.Unauthorized || ex.Response.StatusCode == HttpStatusCode.Forbidden))
{
throw context.Exception;
}
if (context.Exception is NotFoundException)
{
throw new HttpResponseException(actionContext.Request.CreateErrorResponse(HttpStatusCode.NotFound, context.Exception.Message));
}
if (context.Exception is AccessDeniedException)
{
throw new HttpResponseException(actionContext.Request.CreateErrorResponse(HttpStatusCode.Forbidden, context.Exception.Message));
}
и т.д.
стоит цель из сервиса пробросить в апишку (контроллер) чтоб он соотвственно вернул throw new HttpResponseException . можно на пальцах как это реализуется?