aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs')
-rw-r--r--Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs25
1 files changed, 20 insertions, 5 deletions
diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
index 06af5af53..0abcaadb1 100644
--- a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -18,6 +18,7 @@ using System.Threading;
using System.Threading.Tasks;
using Emby.Common.Implementations.HttpClientManager;
using MediaBrowser.Model.IO;
+using MediaBrowser.Common;
namespace Emby.Common.Implementations.HttpClientManager
{
@@ -43,6 +44,7 @@ namespace Emby.Common.Implementations.HttpClientManager
private readonly IFileSystem _fileSystem;
private readonly IMemoryStreamFactory _memoryStreamProvider;
+ private readonly IApplicationHost _appHost;
/// <summary>
/// Initializes a new instance of the <see cref="HttpClientManager" /> class.
@@ -257,6 +259,8 @@ namespace Emby.Common.Implementations.HttpClientManager
private void AddRequestHeaders(HttpWebRequest request, HttpRequestOptions options)
{
+ var hasUserAgent = false;
+
foreach (var header in options.RequestHeaders.ToList())
{
if (string.Equals(header.Key, "Accept", StringComparison.OrdinalIgnoreCase))
@@ -265,11 +269,8 @@ namespace Emby.Common.Implementations.HttpClientManager
}
else if (string.Equals(header.Key, "User-Agent", StringComparison.OrdinalIgnoreCase))
{
-#if NET46
- request.UserAgent = header.Value;
-#elif NETSTANDARD1_6
- request.Headers["User-Agent"] = header.Value;
-#endif
+ SetUserAgent(request, header.Value);
+ hasUserAgent = true;
}
else
{
@@ -280,6 +281,20 @@ namespace Emby.Common.Implementations.HttpClientManager
#endif
}
}
+
+ if (!hasUserAgent && options.EnableDefaultUserAgent)
+ {
+ SetUserAgent(request, _appHost.Name + "/" + _appHost.ApplicationVersion.ToString());
+ }
+ }
+
+ private void SetUserAgent(HttpWebRequest request, string userAgent)
+ {
+#if NET46
+ request.UserAgent = userAgent;
+#elif NETSTANDARD1_6
+ request.Headers["User-Agent"] = userAgent;
+#endif
}
/// <summary>