Lidarr/src/NzbDrone.Common/Http/UserAgentBuilder.cs

34 lines
879 B
C#

using NzbDrone.Common.EnvironmentInfo;
namespace NzbDrone.Common.Http
{
public interface IUserAgentBuilder
{
string GetUserAgent(bool simplified = false);
}
public class UserAgentBuilder : IUserAgentBuilder
{
private readonly string _userAgentSimplified;
private readonly string _userAgent;
public string GetUserAgent(bool simplified)
{
if (simplified)
{
return _userAgentSimplified;
}
return _userAgent;
}
public UserAgentBuilder(IOsInfo osInfo)
{
var osName = osInfo.Name.ToLower();
var osVersion = osInfo.Version.ToLower();
_userAgent = $"Sonarr/{BuildInfo.Version} ({osName} {osVersion})";
_userAgentSimplified = $"Sonarr/{BuildInfo.Version.ToString(2)}";
}
}
}