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.cs32
1 files changed, 21 insertions, 11 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
index b925649fc..94c91c55a 100644
--- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -107,30 +107,40 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression)
{
- var request = (HttpWebRequest)WebRequest.Create(options.Url);
+ var request = WebRequest.Create(options.Url);
+ var httpWebRequest = request as HttpWebRequest;
- AddRequestHeaders(request, options);
+ if (httpWebRequest != null)
+ {
+ AddRequestHeaders(httpWebRequest, options);
- request.AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None;
+ httpWebRequest.AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None;
+ }
request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
- if (options.EnableKeepAlive)
+ if (httpWebRequest != null)
{
- request.KeepAlive = true;
+ if (options.EnableKeepAlive)
+ {
+ httpWebRequest.KeepAlive = true;
+ }
}
request.Method = method;
request.Timeout = options.TimeoutMs;
- if (!string.IsNullOrEmpty(options.Host))
+ if (httpWebRequest != null)
{
- request.Host = options.Host;
- }
+ if (!string.IsNullOrEmpty(options.Host))
+ {
+ httpWebRequest.Host = options.Host;
+ }
- if (!string.IsNullOrEmpty(options.Referer))
- {
- request.Referer = options.Referer;
+ if (!string.IsNullOrEmpty(options.Referer))
+ {
+ httpWebRequest.Referer = options.Referer;
+ }
}
//request.ServicePoint.BindIPEndPointDelegate = BindIPEndPointCallback;