mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-01 05:18:27 +01:00
ApiServiceCollectionExtensions.AddProxyAddresses: Add more tests
This commit is contained in:
@@ -4,7 +4,6 @@ using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Common.Net
|
||||
{
|
||||
@@ -400,7 +399,7 @@ namespace MediaBrowser.Common.Net
|
||||
if ((_addresses.Length == 0 && !Resolved) || (DateTime.UtcNow > _lastResolved.Value.AddMinutes(Timeout)))
|
||||
{
|
||||
_lastResolved = DateTime.UtcNow;
|
||||
ResolveHostInternal().GetAwaiter().GetResult();
|
||||
ResolveHostInternal();
|
||||
Resolved = true;
|
||||
}
|
||||
|
||||
@@ -410,30 +409,31 @@ namespace MediaBrowser.Common.Net
|
||||
/// <summary>
|
||||
/// Task that looks up a Host name and returns its IP addresses.
|
||||
/// </summary>
|
||||
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
|
||||
private async Task ResolveHostInternal()
|
||||
private void ResolveHostInternal()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(HostName))
|
||||
var hostName = HostName;
|
||||
if (string.IsNullOrEmpty(hostName))
|
||||
{
|
||||
// Resolves the host name - so save a DNS lookup.
|
||||
if (string.Equals(HostName, "localhost", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_addresses = new IPAddress[] { IPAddress.Loopback, IPAddress.IPv6Loopback };
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (Uri.CheckHostName(HostName).Equals(UriHostNameType.Dns))
|
||||
// Resolves the host name - so save a DNS lookup.
|
||||
if (string.Equals(hostName, "localhost", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_addresses = new IPAddress[] { IPAddress.Loopback, IPAddress.IPv6Loopback };
|
||||
return;
|
||||
}
|
||||
|
||||
if (Uri.CheckHostName(hostName) == UriHostNameType.Dns)
|
||||
{
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
IPHostEntry ip = await Dns.GetHostEntryAsync(HostName).ConfigureAwait(false);
|
||||
_addresses = ip.AddressList;
|
||||
}
|
||||
catch (SocketException ex)
|
||||
{
|
||||
// Log and then ignore socket errors, as the result value will just be an empty array.
|
||||
Debug.WriteLine("GetHostEntryAsync failed with {Message}.", ex.Message);
|
||||
}
|
||||
_addresses = Dns.GetHostAddresses(hostName);
|
||||
}
|
||||
catch (SocketException ex)
|
||||
{
|
||||
// Log and then ignore socket errors, as the result value will just be an empty array.
|
||||
Debug.WriteLine("GetHostEntryAsync failed with {Message}.", ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user