diff options
author | crupest <crupest@outlook.com> | 2022-11-21 11:08:48 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-11-21 11:08:48 +0800 |
commit | 7e44b56ec4112f5e131c7fb96838b18550a62c85 (patch) | |
tree | e3e55a3984664fc60f51b10a37c321aabd38f17d /BackEnd/Timeline/Configs/ApplicationConfiguration.cs | |
parent | 473720658913997919c680df6c82a75d429711d1 (diff) | |
download | timeline-7e44b56ec4112f5e131c7fb96838b18550a62c85.tar.gz timeline-7e44b56ec4112f5e131c7fb96838b18550a62c85.tar.bz2 timeline-7e44b56ec4112f5e131c7fb96838b18550a62c85.zip |
Fix #1354 #1355 .
Diffstat (limited to 'BackEnd/Timeline/Configs/ApplicationConfiguration.cs')
-rw-r--r-- | BackEnd/Timeline/Configs/ApplicationConfiguration.cs | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/BackEnd/Timeline/Configs/ApplicationConfiguration.cs b/BackEnd/Timeline/Configs/ApplicationConfiguration.cs index c7c679d1..c808e946 100644 --- a/BackEnd/Timeline/Configs/ApplicationConfiguration.cs +++ b/BackEnd/Timeline/Configs/ApplicationConfiguration.cs @@ -1,4 +1,8 @@ -namespace Timeline.Configs
+using System;
+using System.Collections.Generic;
+using Microsoft.Extensions.Configuration;
+
+namespace Timeline.Configs
{
public static class ApplicationConfiguration
{
@@ -7,5 +11,38 @@ public const string DatabaseFileName = "timeline.db";
public const string DatabaseBackupDirectoryName = "backup";
public const string FrontEndKey = "FrontEnd";
+ public const string DisableAutoBackupKey = "DisableAutoBackup";
+ public const string EnableForwardedHeadersKey = "EnableForwardedHeaders";
+ public const string ForwardedHeadersAllowedProxyHostsKey = "ForwardedHeadersAllowedProxyHosts";
+
+ public static bool CheckIsValidBoolString(string? value, string configPath, Boolean defaultValue)
+ {
+ if (value is null)
+ {
+ return defaultValue;
+ }
+
+ var true_strings = new List<string> { "true", "1", "y", "yes", "on" };
+ var false_strings = new List<string> { "false", "0", "n", "no", "off" };
+
+ if (true_strings.Contains(value.ToLowerInvariant()))
+ {
+ return true;
+ }
+ else if (false_strings.Contains(value.ToLowerInvariant()))
+ {
+ return false;
+ }
+ else
+ {
+ throw new Exception($"Invalid boolean value {value} in config {configPath}.");
+ }
+ }
+
+ public static bool GetBoolConfig(IConfiguration configuration, string configPath, bool defaultValue)
+ {
+ var value = configuration.GetValue<string?>(configPath);
+ return CheckIsValidBoolString(value, configPath, defaultValue);
+ }
}
}
|