using OI.Metrology.Server.Models; using OI.Metrology.Shared.Models.Stateless; using System.Net; namespace OI.Metrology.Server.Repository; public class ClientSettingsRepository : IClientSettingsRepository { private readonly AppSettings _AppSettings; public ClientSettingsRepository(AppSettings appSettings) => _AppSettings = appSettings; internal List GetClientSettings(IPAddress? remoteIpAddress) { List results = new(); if (remoteIpAddress is null) results.Add(nameof(remoteIpAddress)); else results.Add(remoteIpAddress.ToString()); if (!_AppSettings.IsDevelopment) throw new Exception("Shouldn't expose!"); return results; } internal static string GetIpAddress(IPAddress? remoteIpAddress) { string result = remoteIpAddress is null ? string.Empty : remoteIpAddress.ToString(); return result; } List IClientSettingsRepository.GetClientSettings(IPAddress? remoteIpAddress) => GetClientSettings(remoteIpAddress); string IClientSettingsRepository.GetIpAddress(IPAddress? remoteIpAddress) => GetIpAddress(remoteIpAddress); }