diff --git a/WowUp.WPF/AddonProviders/CurseAddonProvider.cs b/WowUp.WPF/AddonProviders/CurseAddonProvider.cs index 5262282d..3d8716a7 100644 --- a/WowUp.WPF/AddonProviders/CurseAddonProvider.cs +++ b/WowUp.WPF/AddonProviders/CurseAddonProvider.cs @@ -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() + .Handle(ex => + ex.Call.Response.StatusCode != System.Net.HttpStatusCode.NotFound) .CircuitBreakerAsync( 2, TimeSpan.FromMinutes(1), diff --git a/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs b/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs index ff872b81..cd237008 100644 --- a/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs +++ b/WowUp.WPF/AddonProviders/TukUiAddonProvider.cs @@ -31,7 +31,8 @@ namespace WowUp.WPF.AddonProviders private readonly IAnalyticsService _analyticsService; private readonly AsyncPolicy CircuitBreaker = Policy - .Handle() + .Handle(ex => + ex.Call.Response.StatusCode != System.Net.HttpStatusCode.NotFound) .CircuitBreakerAsync( 2, TimeSpan.FromMinutes(1), diff --git a/WowUp.WPF/AddonProviders/WowInterfaceAddonProvider.cs b/WowUp.WPF/AddonProviders/WowInterfaceAddonProvider.cs index cd891218..7c81edf6 100644 --- a/WowUp.WPF/AddonProviders/WowInterfaceAddonProvider.cs +++ b/WowUp.WPF/AddonProviders/WowInterfaceAddonProvider.cs @@ -29,7 +29,8 @@ namespace WowUp.WPF.AddonProviders private readonly ICacheService _cacheService; private readonly AsyncPolicy CircuitBreaker = Policy - .Handle() + .Handle(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 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}"); }