ipv6 update

pull/702/head
Luke Pulverenti 9 years ago
parent 1a72e3b596
commit 22730746eb

@ -126,6 +126,23 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
}
}
private void AddIpv4Option(HttpWebRequest request, HttpRequestOptions options)
{
if (!options.PreferIpv4)
{
return;
}
request.ServicePoint.BindIPEndPointDelegate = (servicePount, remoteEndPoint, retryCount) =>
{
if (remoteEndPoint.AddressFamily == AddressFamily.InterNetwork)
{
return new IPEndPoint(IPAddress.Any, 0);
}
throw new InvalidOperationException("no IPv4 address");
};
}
private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression)
{
var request = CreateWebRequest(options.Url);
@ -133,6 +150,8 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
if (httpWebRequest != null)
{
AddIpv4Option(httpWebRequest, options);
AddRequestHeaders(httpWebRequest, options);
httpWebRequest.AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None;

@ -96,6 +96,7 @@ namespace MediaBrowser.Common.Net
public TimeSpan CacheLength { get; set; }
public int TimeoutMs { get; set; }
public bool PreferIpv4 { get; set; }
private string GetHeaderValue(string name)
{

@ -70,7 +70,9 @@ namespace MediaBrowser.Server.Implementations.Connect
LogErrors = logErrors,
// Seeing block length errors with our server
EnableHttpCompression = false
EnableHttpCompression = false,
PreferIpv4 = true
}).ConfigureAwait(false))
{

Loading…
Cancel
Save