Bug Fixes

Increase the timeout time for Curse API from 4 seconds to 10.
If a provider responds with a 404, the circuit breaker should no longer be opened.
This commit is contained in:
jliddev
2020-10-24 17:05:43 -05:00
parent d8891ff827
commit 52cc2b3854
3 changed files with 9 additions and 6 deletions

View File

@@ -29,13 +29,14 @@ namespace WowUp.WPF.AddonProviders
private const string HubApiUrl = "https://hub.wowup.io";
private const string ClassicGameVersionFlavor = "wow_classic";
private const string RetailGameVersionFlavor = "wow_retail";
private const int HttpTimeoutSeconds = 4;
private const int HttpTimeoutSeconds = 10;
private readonly ICacheService _cacheService;
private readonly IAnalyticsService _analyticsService;
private readonly AsyncPolicy CircuitBreaker = Policy
.Handle<FlurlHttpException>()
.Handle<FlurlHttpException>(ex =>
ex.Call.Response.StatusCode != System.Net.HttpStatusCode.NotFound)
.CircuitBreakerAsync(
2,
TimeSpan.FromMinutes(1),

View File

@@ -31,7 +31,8 @@ namespace WowUp.WPF.AddonProviders
private readonly IAnalyticsService _analyticsService;
private readonly AsyncPolicy CircuitBreaker = Policy
.Handle<FlurlHttpException>()
.Handle<FlurlHttpException>(ex =>
ex.Call.Response.StatusCode != System.Net.HttpStatusCode.NotFound)
.CircuitBreakerAsync(
2,
TimeSpan.FromMinutes(1),

View File

@@ -29,7 +29,8 @@ namespace WowUp.WPF.AddonProviders
private readonly ICacheService _cacheService;
private readonly AsyncPolicy CircuitBreaker = Policy
.Handle<FlurlHttpException>()
.Handle<FlurlHttpException>(ex =>
ex.Call.Response.StatusCode != System.Net.HttpStatusCode.NotFound)
.CircuitBreakerAsync(
2,
TimeSpan.FromMinutes(1),
@@ -48,7 +49,7 @@ namespace WowUp.WPF.AddonProviders
public async Task Scan(
WowClientType clientType,
AddonChannelType addonChannelType,
AddonChannelType addonChannelType,
IEnumerable<AddonFolder> addonFolders)
{
Log.Debug($"{Name} Scanning {addonFolders.Count()} addons");
@@ -143,7 +144,7 @@ namespace WowUp.WPF.AddonProviders
}
var addon = await GetAddonDetails(addonId);
if(addon == null)
if (addon == null)
{
throw new Exception($"Bad addon api response {addonUri}");
}