From bb4c918bf8403b2058f5fbbf2c0b1943b4b5f327 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 2 Oct 2013 13:05:13 -0400 Subject: refactor http client factory for mono --- .../BaseApplicationHost.cs | 4 ++-- .../HttpClientManager/HttpClientManager.cs | 19 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) (limited to 'MediaBrowser.Common.Implementations') diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 4c2d5d599..4a614f42d 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -332,7 +332,7 @@ namespace MediaBrowser.Common.Implementations RegisterSingleInstance(TaskManager); - HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger, GetHttpMessageHandler); + HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger, CreateHttpClient); RegisterSingleInstance(HttpClient); NetworkManager = new NetworkManager(); @@ -352,7 +352,7 @@ namespace MediaBrowser.Common.Implementations }); } - protected abstract HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression); + protected abstract HttpClient CreateHttpClient(bool enableHttpCompression); /// /// Gets a list of types within an assembly diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index 3a626000f..412c69509 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -31,21 +31,22 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager /// private readonly IApplicationPaths _appPaths; - public delegate HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression); + public delegate HttpClient GetHttpClientHandler(bool enableHttpCompression); - private readonly GetHttpMessageHandler _getHttpMessageHandler; + private readonly GetHttpClientHandler _getHttpClientHandler; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// - /// The kernel. + /// The app paths. /// The logger. + /// The get HTTP client handler. /// /// appPaths /// or /// logger /// - public HttpClientManager(IApplicationPaths appPaths, ILogger logger, GetHttpMessageHandler getHttpMessageHandler) + public HttpClientManager(IApplicationPaths appPaths, ILogger logger, GetHttpClientHandler getHttpClientHandler) { if (appPaths == null) { @@ -57,7 +58,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager } _logger = logger; - _getHttpMessageHandler = getHttpMessageHandler; + _getHttpClientHandler = getHttpClientHandler; _appPaths = appPaths; } @@ -90,10 +91,8 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager { client = new HttpClientInfo { - HttpClient = new HttpClient(_getHttpMessageHandler(enableHttpCompression)) - { - Timeout = TimeSpan.FromSeconds(20) - } + + HttpClient = _getHttpClientHandler(enableHttpCompression) }; _httpClients.TryAdd(key, client); } -- cgit v1.2.3