mirror of https://github.com/lidarr/Lidarr
41 lines
1.0 KiB
C#
41 lines
1.0 KiB
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.Os.ToString();
|
|
|
|
if (!string.IsNullOrWhiteSpace(osInfo.Name))
|
|
{
|
|
osName = osInfo.Name.ToLower();
|
|
}
|
|
|
|
var osVersion = osInfo.Version?.ToLower();
|
|
|
|
_userAgent = $"{BuildInfo.AppName}/{BuildInfo.Version} ({osName} {osVersion})";
|
|
_userAgentSimplified = $"{BuildInfo.AppName}/{BuildInfo.Version.ToString(2)}";
|
|
}
|
|
}
|
|
}
|