aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs')
-rw-r--r--MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs17
1 files changed, 7 insertions, 10 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
index 82c385522..9eab2cdd8 100644
--- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -9,8 +9,6 @@ using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
-using System.Net;
-using System.Net.Cache;
using System.Net.Http;
using System.Text;
using System.Threading;
@@ -33,6 +31,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// </summary>
private readonly IApplicationPaths _appPaths;
+ public delegate HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression);
+
+ private readonly GetHttpMessageHandler _getHttpMessageHandler;
+
/// <summary>
/// Initializes a new instance of the <see cref="HttpClientManager" /> class.
/// </summary>
@@ -43,7 +45,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// or
/// logger
/// </exception>
- public HttpClientManager(IApplicationPaths appPaths, ILogger logger)
+ public HttpClientManager(IApplicationPaths appPaths, ILogger logger, GetHttpMessageHandler getHttpMessageHandler)
{
if (appPaths == null)
{
@@ -55,6 +57,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
}
_logger = logger;
+ _getHttpMessageHandler = getHttpMessageHandler;
_appPaths = appPaths;
}
@@ -85,15 +88,9 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
if (!_httpClients.TryGetValue(key, out client))
{
- var handler = new WebRequestHandler
- {
- CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate),
- AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None
- };
-
client = new HttpClientInfo
{
- HttpClient = new HttpClient(handler)
+ HttpClient = new HttpClient(_getHttpMessageHandler(enableHttpCompression))
{
Timeout = TimeSpan.FromSeconds(20)
}