diff --git a/API/Controller/Public/GetStats.cs b/API/Controller/Public/GetStats.cs index 5435442f..6b6f0ad7 100644 --- a/API/Controller/Public/GetStats.cs +++ b/API/Controller/Public/GetStats.cs @@ -3,6 +3,7 @@ using OpenShock.Common.Models; using OpenShock.Common.Redis; using StackExchange.Redis; +using System.Net.Mime; namespace OpenShock.API.Controller.Public; @@ -12,8 +13,9 @@ public sealed partial class PublicController /// Gets online devices statistics /// /// The statistics were successfully retrieved. - [HttpGet("stats")] [Tags("Meta")] + [HttpGet("stats")] + [ResponseCache(Duration = 60, Location = ResponseCacheLocation.Any)] public async Task> GetOnlineDevicesStatistics([FromServices] IConnectionMultiplexer redisConnectionMultiplexer) { var ft = redisConnectionMultiplexer.GetDatabase().FT(); diff --git a/API/Controller/Version/_ApiController.cs b/API/Controller/Version/_ApiController.cs index afd14501..e4564749 100644 --- a/API/Controller/Version/_ApiController.cs +++ b/API/Controller/Version/_ApiController.cs @@ -4,6 +4,7 @@ using OpenShock.Common.Models; using OpenShock.Common.Options; using OpenShock.Common.Utils; +using System.Net.Mime; using System.Reflection; namespace OpenShock.API.Controller.Version; @@ -25,6 +26,7 @@ public sealed partial class VersionController : OpenShockControllerBase /// /// The version was successfully retrieved. [HttpGet] + [ResponseCache(Duration = 60, Location = ResponseCacheLocation.Any)] public LegacyDataResponse GetBackendVersion( [FromServices] IOptions frontendOptions, [FromServices] IOptions turnstileOptions diff --git a/Common/OpenShockMiddlewareHelper.cs b/Common/OpenShockMiddlewareHelper.cs index d5364352..19659e16 100644 --- a/Common/OpenShockMiddlewareHelper.cs +++ b/Common/OpenShockMiddlewareHelper.cs @@ -59,6 +59,7 @@ public static async Task UseCommonOpenShockMiddleware(this KeepAliveInterval = TimeSpan.FromMinutes(1) }); app.UseRouting(); + app.UseResponseCaching(); app.UseAuthentication(); app.UseAuthorization(); diff --git a/Common/OpenShockServiceHelper.cs b/Common/OpenShockServiceHelper.cs index 52b8136c..ba54e6d1 100644 --- a/Common/OpenShockServiceHelper.cs +++ b/Common/OpenShockServiceHelper.cs @@ -159,6 +159,7 @@ public static IServiceCollection AddOpenShockServices(this IServiceCollection se // generic ASP.NET stuff services.AddMemoryCache(); + services.AddResponseCaching(); services.AddHttpContextAccessor(); services.AddWebEncoders(); services.AddProblemDetails();