aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-30 01:49:38 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-30 01:49:38 -0500
commit45a4d25e2615e5ec05befc61560ad54b419504eb (patch)
tree097eea9add34d44a24e8f2236ee65a32bbefa945 /MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
parentf05ea5d20f2526c7090516a2e8cef31e94473826 (diff)
updated live tv methods + nuget
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs')
-rw-r--r--MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
index ea1a5c726..8d80185ad 100644
--- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -25,6 +25,11 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
public class HttpClientManager : IHttpClient
{
/// <summary>
+ /// When one request to a host times out, we'll ban all other requests for this period of time, to prevent scans from stalling
+ /// </summary>
+ private int TimeoutSeconds = 30;
+
+ /// <summary>
/// The _logger
/// </summary>
private readonly ILogger _logger;
@@ -122,13 +127,13 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
request.UserAgent = options.UserAgent;
}
+ // This is a hack to prevent KeepAlive from getting disabled internally by the HttpWebRequest
+ // May need to remove this for mono
var sp = request.ServicePoint;
-
if (_httpBehaviorPropertyInfo == null)
{
_httpBehaviorPropertyInfo = sp.GetType().GetProperty("HttpBehaviour", BindingFlags.Instance | BindingFlags.NonPublic);
}
-
_httpBehaviorPropertyInfo.SetValue(sp, (byte)0, null);
return request;
@@ -150,7 +155,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
var client = GetHttpClient(GetHostFromUrl(options.Url), options.EnableHttpCompression);
- if ((DateTime.UtcNow - client.LastTimeout).TotalSeconds < 30)
+ if ((DateTime.UtcNow - client.LastTimeout).TotalSeconds < TimeoutSeconds)
{
throw new HttpException(string.Format("Cancelling connection to {0} due to a previous timeout.", options.Url)) { IsTimedOut = true };
}
@@ -162,7 +167,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
await options.ResourcePool.WaitAsync(options.CancellationToken).ConfigureAwait(false);
}
- if ((DateTime.UtcNow - client.LastTimeout).TotalSeconds < 30)
+ if ((DateTime.UtcNow - client.LastTimeout).TotalSeconds < TimeoutSeconds)
{
if (options.ResourcePool != null)
{