Add DistributionFileServerForceHTTP2

This commit is contained in:
Loporrit
2024-09-05 06:13:42 +00:00
parent c42d0b38cf
commit 524e412c28
2 changed files with 9 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ public class StaticFilesServerConfiguration : MareConfigurationBase
public bool IsDistributionNode { get; set; } = false; public bool IsDistributionNode { get; set; } = false;
public Uri? MainFileServerAddress { get; set; } = null; public Uri? MainFileServerAddress { get; set; } = null;
public Uri? DistributionFileServerAddress { get; set; } = null; public Uri? DistributionFileServerAddress { get; set; } = null;
public bool DistributionFileServerForceHTTP2 { get; set; } = false;
public int ForcedDeletionOfFilesAfterHours { get; set; } = -1; public int ForcedDeletionOfFilesAfterHours { get; set; } = -1;
public double CacheSizeHardLimitInGiB { get; set; } = -1; public double CacheSizeHardLimitInGiB { get; set; } = -1;
public int UnusedFileRetentionPeriodInDays { get; set; } = 14; public int UnusedFileRetentionPeriodInDays { get; set; } = 14;
@@ -30,6 +31,8 @@ public class StaticFilesServerConfiguration : MareConfigurationBase
StringBuilder sb = new(); StringBuilder sb = new();
sb.AppendLine(base.ToString()); sb.AppendLine(base.ToString());
sb.AppendLine($"{nameof(MainFileServerAddress)} => {MainFileServerAddress}"); sb.AppendLine($"{nameof(MainFileServerAddress)} => {MainFileServerAddress}");
sb.AppendLine($"{nameof(DistributionFileServerAddress)} => {DistributionFileServerAddress}");
sb.AppendLine($"{nameof(DistributionFileServerForceHTTP2)} => {DistributionFileServerForceHTTP2}");
sb.AppendLine($"{nameof(ForcedDeletionOfFilesAfterHours)} => {ForcedDeletionOfFilesAfterHours}"); sb.AppendLine($"{nameof(ForcedDeletionOfFilesAfterHours)} => {ForcedDeletionOfFilesAfterHours}");
sb.AppendLine($"{nameof(CacheSizeHardLimitInGiB)} => {CacheSizeHardLimitInGiB}"); sb.AppendLine($"{nameof(CacheSizeHardLimitInGiB)} => {CacheSizeHardLimitInGiB}");
sb.AppendLine($"{nameof(UseColdStorage)} => {UseColdStorage}"); sb.AppendLine($"{nameof(UseColdStorage)} => {UseColdStorage}");

View File

@@ -30,6 +30,7 @@ public sealed class CachedFileProvider : IDisposable
public CachedFileProvider(IConfigurationService<StaticFilesServerConfiguration> configuration, ILogger<CachedFileProvider> logger, public CachedFileProvider(IConfigurationService<StaticFilesServerConfiguration> configuration, ILogger<CachedFileProvider> logger,
FileStatisticsService fileStatisticsService, MareMetrics metrics, ServerTokenGenerator generator) FileStatisticsService fileStatisticsService, MareMetrics metrics, ServerTokenGenerator generator)
{ {
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
_configuration = configuration; _configuration = configuration;
_logger = logger; _logger = logger;
_fileStatisticsService = fileStatisticsService; _fileStatisticsService = fileStatisticsService;
@@ -65,6 +66,11 @@ public sealed class CachedFileProvider : IDisposable
using var requestMessage = new HttpRequestMessage(HttpMethod.Get, downloadUrl); using var requestMessage = new HttpRequestMessage(HttpMethod.Get, downloadUrl);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _generator.Token); requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _generator.Token);
if (_configuration.GetValueOrDefault(nameof(StaticFilesServerConfiguration.DistributionFileServerForceHTTP2), false))
{
requestMessage.Version = new Version(2, 0);
requestMessage.VersionPolicy = HttpVersionPolicy.RequestVersionExact;
}
HttpResponseMessage? response = null; HttpResponseMessage? response = null;
try try