aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-28 16:12:58 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-28 16:12:58 -0400
commit528100ab318d1e447567b751353caa6b6bab61d8 (patch)
treed91e1d065c1567e798fd0b9c14663dbf532cdf21
parentac802322de703be589ba5ce4598c4f223606045d (diff)
fully removed System.Net.HttpWebRequest dependency
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs5
-rw-r--r--MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs17
-rw-r--r--MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj2
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs12
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj2
6 files changed, 26 insertions, 13 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 0bd61dbc2..37db80ee3 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -19,6 +19,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Net.Http;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
@@ -272,7 +273,7 @@ namespace MediaBrowser.Common.Implementations
RegisterSingleInstance(TaskManager);
- HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger);
+ HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger, GetHttpMessageHandler);
RegisterSingleInstance(HttpClient);
NetworkManager = new NetworkManager();
@@ -286,6 +287,8 @@ namespace MediaBrowser.Common.Implementations
});
}
+ protected abstract HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression);
+
/// <summary>
/// Gets a list of types within an assembly
/// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
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)
}
diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
index a21a0790a..d0365fce4 100644
--- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
+++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
@@ -54,7 +54,6 @@
<Reference Include="System.Management" />
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
- <Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 4991db8e2..ed4900128 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -101,9 +101,9 @@
<HintPath>..\packages\Rx-Linq.2.1.30214.0\lib\Net45\System.Reactive.Linq.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
- <Reference Include="System.Web" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
+ <Reference Include="System.Web" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index eb8a73049..b77c738c3 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -50,6 +50,9 @@ using System.Data.SQLite;
using System.Diagnostics;
using System.IO;
using System.Linq;
+using System.Net;
+using System.Net.Cache;
+using System.Net.Http;
using System.Reflection;
using System.Threading.Tasks;
@@ -660,5 +663,14 @@ namespace MediaBrowser.ServerApplication
{
get { return Constants.MbServerPkgName; }
}
+
+ protected override HttpMessageHandler GetHttpMessageHandler(bool enableHttpCompression)
+ {
+ return new WebRequestHandler
+ {
+ CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate),
+ AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None
+ };
+ }
}
}
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 912db757a..c84d840d1 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -184,6 +184,8 @@
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Net" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">