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

41 lines
1.0 KiB
C#
Raw Normal View History

using NzbDrone.Common.EnvironmentInfo;
2014-12-07 20:54:07 +00:00
namespace NzbDrone.Common.Http
{
public interface IUserAgentBuilder
2014-12-07 20:54:07 +00:00
{
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;
}
2014-12-07 20:54:07 +00:00
public UserAgentBuilder(IOsInfo osInfo)
2014-12-07 20:54:07 +00:00
{
var osName = OsInfo.Os.ToString();
if (!string.IsNullOrWhiteSpace(osInfo.Name))
{
osName = osInfo.Name.ToLower();
}
var osVersion = osInfo.Version?.ToLower();
2016-08-10 18:45:48 +00:00
_userAgent = $"{BuildInfo.AppName}/{BuildInfo.Version} ({osName} {osVersion})";
_userAgentSimplified = $"{BuildInfo.AppName}/{BuildInfo.Version.ToString(2)}";
2014-12-07 20:54:07 +00:00
}
}
}