Пример #1
0
        public override Task OnExceptionAsync(ExceptionContext context)
        {
            _logProvider.Write(context.Exception.ToString());

            var errorStatusCode = context.Exception is ArgumentException
            ? 400
            : context.Exception is InvalidCredentialException
                ? 401
                : 500;

            context.Result = new JsonResult(
                new Erro
            {
                Mensagem = context.Exception.Message,
                Status   = errorStatusCode
            });

            _httpContextAccessor.HttpContext.Response.StatusCode = errorStatusCode;

            return(base.OnExceptionAsync(context));
        }