aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-02-08 15:00:36 -0500
committerGitHub <noreply@github.com>2017-02-08 15:00:36 -0500
commit52d496386fd6a042aa0812deea052fc563688585 (patch)
treec053a78597990e294560b7b745e8939e10f1c10f /Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
parentb073cdc91ff8fa783d8cd62bfdf9f03062c1a703 (diff)
parent2fa03c19d48fca865f108895f28b7fb436b9edf4 (diff)
Merge pull request #2451 from MediaBrowser/dev
Dev
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>