make speedtest rate limit to remote config and default to 0.5h

This commit is contained in:
Stanley Dimant
2024-11-11 19:16:07 +01:00
parent 0d72e3b40e
commit 532c123927
2 changed files with 3 additions and 2 deletions

View File

@@ -20,9 +20,10 @@ public class StaticFilesServerConfiguration : MareConfigurationBase
public bool UseColdStorage { get; set; } = false;
public string ColdStorageDirectory { get; set; } = null;
public double ColdStorageSizeHardLimitInGiB { get; set; } = -1;
public int SpeedTestHoursRateLimit { get; set; } = 6;
public int ColdStorageUnusedFileRetentionPeriodInDays { get; set; } = 30;
[RemoteConfiguration]
public double SpeedTestHoursRateLimit { get; set; } = 0.5;
[RemoteConfiguration]
public Uri CdnFullUrl { get; set; } = null;
[RemoteConfiguration]
public List<CdnShardConfiguration> CdnShardConfiguration { get; set; } = new();

View File

@@ -26,7 +26,7 @@ public class SpeedTestController : ControllerBase
public async Task<IActionResult> DownloadTest(CancellationToken cancellationToken)
{
var user = HttpContext.User.Claims.First(f => string.Equals(f.Type, MareClaimTypes.Uid, StringComparison.Ordinal)).Value;
var speedtestLimit = _configurationService.GetValueOrDefault(nameof(StaticFilesServerConfiguration.SpeedTestHoursRateLimit), 6);
var speedtestLimit = _configurationService.GetValueOrDefault(nameof(StaticFilesServerConfiguration.SpeedTestHoursRateLimit), 0.5);
if (_memoryCache.TryGetValue<DateTime>(user, out var value))
{
var hoursRemaining = value.Subtract(DateTime.UtcNow).TotalHours;