Resolve all 46 low-severity architecture review findings
This commit is contained in:
@@ -10,8 +10,19 @@ internal static class ConfigLoader
|
||||
/// <summary>Deserialize the <c>appsettings.json</c> text via the source-gen context.</summary>
|
||||
/// <param name="jsonText">The raw JSON text of <c>appsettings.json</c>.</param>
|
||||
/// <returns>The deserialized <see cref="NotifierConfig"/>, or a default instance if deserialization yields <c>null</c>.</returns>
|
||||
public static NotifierConfig Load(string jsonText) =>
|
||||
JsonSerializer.Deserialize(jsonText, NotifierJsonContext.Default.NotifierConfig) ?? new NotifierConfig();
|
||||
public static NotifierConfig Load(string jsonText)
|
||||
{
|
||||
var config = JsonSerializer.Deserialize(jsonText, NotifierJsonContext.Default.NotifierConfig) ?? new NotifierConfig();
|
||||
var urls = SplitBaseUrls(config.ScadaBridge.BaseUrls);
|
||||
for (var i = 0; i < urls.Length; i++)
|
||||
{
|
||||
if (!Uri.TryCreate(urls[i], UriKind.Absolute, out var uri)
|
||||
|| (uri.Scheme != Uri.UriSchemeHttp && uri.Scheme != Uri.UriSchemeHttps)
|
||||
|| string.IsNullOrWhiteSpace(uri.Host))
|
||||
throw new InvalidOperationException($"ScadaBridge:BaseUrls entry {i + 1} must be an absolute HTTP(S) URI.");
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
||||
/// <summary>Read and parse the <c>appsettings.json</c> sitting next to the executable.</summary>
|
||||
/// <returns>The deserialized <see cref="NotifierConfig"/>.</returns>
|
||||
|
||||
Reference in New Issue
Block a user