diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs | 17 |
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) } |
