ServiceStack.HttpRequestExtensions.IsInLocalSubnet C# (CSharp) Method

IsInLocalSubnet() public static method

public static IsInLocalSubnet ( this ipAddress ) : bool
ipAddress this
return bool
        public static bool IsInLocalSubnet(this IPAddress ipAddress)
        {
            var ipAddressBytes = ipAddress.GetAddressBytes();
            switch (ipAddress.AddressFamily)
            {
                case AddressFamily.InterNetwork:
                    foreach (var localIpv4AddressAndMask in ServiceStackHandlerBase.NetworkInterfaceIpv4Addresses)
                    {
                        if (ipAddressBytes.IsInSameIpv4Subnet(localIpv4AddressAndMask.Key, localIpv4AddressAndMask.Value))
                        {
                            return true;
                        }
                    }
                    break;

                case AddressFamily.InterNetworkV6:
                    foreach (var localIpv6Address in ServiceStackHandlerBase.NetworkInterfaceIpv6Addresses)
                    {
                        if (ipAddressBytes.IsInSameIpv6Subnet(localIpv6Address))
                        {
                            return true;
                        }
                    }
                    break;
            }

            return false;
        }