oi-metrology/Server/Controllers/ErrorHandlerController.cs

30 lines
872 B
C#

using Microsoft.AspNetCore.Diagnostics;
using Microsoft.AspNetCore.Mvc;
namespace OI.Metrology.Server.Controllers;
[Route("/error")]
public class ErrorHandlerController : Controller
{
private readonly ILogger _Logger;
public ErrorHandlerController(ILogger<ErrorHandlerController> logger) => _Logger = logger;
public IActionResult Index()
{
IExceptionHandlerFeature? error = HttpContext.Features.Get<IExceptionHandlerFeature>();
if (error is null)
{
return Redirect("~/");
}
else
{
_Logger.LogError("Unhandled exception: " + error.Error.ToString());
dynamic r = new
{
Message = error.Error is null ? "Error" : error.Error.Message
};
return StatusCode(StatusCodes.Status500InternalServerError, r);
}
}
}