| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Diagnostics;
- using Kitty_Fall.Cms.Helpers;
- using Kitty_Fall.Cms.Models;
- using System.Diagnostics;
- namespace Kitty_Fall.Cms.Controllers;
- public class HomeController : Controller
- {
- private readonly ILogger<HomeController> _logger;
- public HomeController(ILogger<HomeController> logger)
- {
- _logger = logger;
- }
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [HttpGet("/Home/Error")]
- public IActionResult Error()
- {
- var requestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- var exceptionFeature = HttpContext.Features.Get<IExceptionHandlerPathFeature>();
- if (exceptionFeature?.Error != null)
- {
- _logger.LogError(
- exceptionFeature.Error,
- "Unhandled CMS exception. RequestId: {RequestId}; Path: {Path}",
- requestId,
- exceptionFeature.Path);
- }
- var cmsSession = CmsSecurityHelper.GetSession(HttpContext);
- var isAdmin = string.Equals(cmsSession?.RoleCode, "ADMIN", StringComparison.OrdinalIgnoreCase);
- return View(new ErrorViewModel
- {
- RequestId = requestId,
- ErrorMessage = isAdmin ? exceptionFeature?.Error.GetBaseException().Message : null
- });
- }
- }
|