From 5032e66d0c0df19bbc30d8ab05da49268a172886 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Fri, 29 Sep 2023 18:41:46 -0400 Subject: [PATCH 1/2] Add additional logging to `ControlPanelController` --- .../Controllers/ControlPanelController.cs | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs b/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs index c062420b68..c1f35f87e5 100644 --- a/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs +++ b/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.StaticFiles; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.Extensions.Primitives; using Microsoft.Net.Http.Headers; @@ -39,6 +40,11 @@ namespace Tgstation.Server.Host.Controllers /// readonly IWebHostEnvironment hostEnvironment; + /// + /// The for the . + /// + readonly ILogger logger; + /// /// The for the . /// @@ -49,10 +55,15 @@ namespace Tgstation.Server.Host.Controllers /// /// The value of . /// The containing the value of . - public ControlPanelController(IWebHostEnvironment hostEnvironment, IOptions controlPanelConfigurationOptions) + /// The value of . + public ControlPanelController( + IWebHostEnvironment hostEnvironment, + IOptions controlPanelConfigurationOptions, + ILogger logger) { this.hostEnvironment = hostEnvironment ?? throw new ArgumentNullException(nameof(hostEnvironment)); controlPanelConfiguration = controlPanelConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(controlPanelConfigurationOptions)); + this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); } /// @@ -64,9 +75,14 @@ namespace Tgstation.Server.Host.Controllers public IActionResult GetChannelJson() { if (!controlPanelConfiguration.Enable) + { + logger.LogDebug("Not serving channel.json as control panel is disabled."); return NotFound(); + } var controlPanelChannel = controlPanelConfiguration.Channel; + logger.LogTrace("Generating channel.json for channel \"{channel}\"...", controlPanelChannel); + if (controlPanelChannel == "local") controlPanelChannel = ControlPanelRoute; else if (String.IsNullOrWhiteSpace(controlPanelChannel)) @@ -112,7 +128,10 @@ namespace Tgstation.Server.Host.Controllers public IActionResult Get([FromRoute] string appRoute) { if (!controlPanelConfiguration.Enable) + { + logger.LogDebug("Not serving static files as control panel is disabled."); return NotFound(); + } if (Request.Headers.ContainsKey(FetchChannelVaryHeader)) return GetChannelJson(); @@ -120,6 +139,7 @@ namespace Tgstation.Server.Host.Controllers var fileInfo = hostEnvironment.WebRootFileProvider.GetFileInfo(appRoute); if (fileInfo.Exists) { + logger.LogTrace("Serving static file \"{filename}\"...", appRoute); var contentTypeProvider = new FileExtensionContentTypeProvider(); if (!contentTypeProvider.TryGetContentType(fileInfo.Name, out var contentType)) contentType = MediaTypeNames.Application.Octet; @@ -130,6 +150,8 @@ namespace Tgstation.Server.Host.Controllers return File(appRoute, contentType); } + else + logger.LogTrace("Requested static file \"{filename}\" does not exist! Redirecting to index...", appRoute); return File("index.html", MediaTypeNames.Text.Html); } From 02cce07cd5da2bce94054318f98be855eac875c5 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Fri, 29 Sep 2023 18:42:10 -0400 Subject: [PATCH 2/2] Version bump to 5.16.1 --- build/Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.props b/build/Version.props index 4dd29db8a0..b633dbb0a0 100644 --- a/build/Version.props +++ b/build/Version.props @@ -3,7 +3,7 @@ - 5.16.0 + 5.16.1 4.7.1 9.12.0 6.0.1