Fixed: Catch InvalidDataException during initial config to prevent boot loop

[Common]
pull/1975/head
Qstick 2 years ago
parent 2bde9d13dd
commit f16bd435db

@ -215,11 +215,20 @@ namespace NzbDrone.Host
private static IConfiguration GetConfiguration(StartupContext context) private static IConfiguration GetConfiguration(StartupContext context)
{ {
var appFolder = new AppFolderInfo(context); var appFolder = new AppFolderInfo(context);
return new ConfigurationBuilder() var configPath = appFolder.GetConfigPath();
.AddXmlFile(appFolder.GetConfigPath(), optional: true, reloadOnChange: false)
.AddInMemoryCollection(new List<KeyValuePair<string, string>> { new ("dataProtectionFolder", appFolder.GetDataProtectionPath()) }) try
.AddEnvironmentVariables() {
.Build(); return new ConfigurationBuilder()
.AddXmlFile(configPath, optional: true, reloadOnChange: false)
.AddInMemoryCollection(new List<KeyValuePair<string, string>> { new ("dataProtectionFolder", appFolder.GetDataProtectionPath()) })
.AddEnvironmentVariables()
.Build();
}
catch (InvalidDataException ex)
{
throw new InvalidConfigFileException($"{configPath} is corrupt or invalid. Please delete the config file and Readarr will recreate it.", ex);
}
} }
private static string BuildUrl(string scheme, string bindAddress, int port) private static string BuildUrl(string scheme, string bindAddress, int port)

Loading…
Cancel
Save