From d2332264b399ea57e81732bcae2cbf450ede443d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 3 Dec 2013 16:12:40 -0500 Subject: mono fixes for http requests --- .../HttpClientManager/HttpClientManager.cs | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs') diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index 8fccb7c2a..214ed106d 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -101,10 +101,35 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager return client; } - private PropertyInfo _httpBehaviorPropertyInfo; + private WebRequest GetMonoRequest(HttpRequestOptions options, string method, bool enableHttpCompression) + { + var request = WebRequest.Create(options.Url); + + if (!string.IsNullOrEmpty(options.AcceptHeader)) + { + request.Headers.Add("Accept", options.AcceptHeader); + } + + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate); + request.ConnectionGroupName = GetHostFromUrl(options.Url); + request.Method = method; + request.Timeout = 20000; + + if (!string.IsNullOrEmpty(options.UserAgent)) + { + request.Headers.Add("User-Agent", options.UserAgent); + } - private HttpWebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression) + return request; + } + + private PropertyInfo _httpBehaviorPropertyInfo; + private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression) { +#if __MonoCS__ + return GetMonoRequest(options, method, enableHttpCompression); +#endif + var request = HttpWebRequest.CreateHttp(options.Url); if (!string.IsNullOrEmpty(options.AcceptHeader)) -- cgit v1.2.3