Advtools.AdvInterceptor.State.IsLocal C# (CSharp) Method

IsLocal() private method

private IsLocal ( IPAddress ip ) : bool
ip System.Net.IPAddress
return bool
        internal bool IsLocal(IPAddress ip)
        {
            foreach(IPAddress localIp in localIps_)
            {
                if(ip.Equals(localIp))
                    return true;
            }

            return false;
        }

Usage Example

Example #1
0
        private Uri ConstructUrl(IRequest originalRequest, IPEndPoint remote)
        {
            if (!state_.IsLocal(remote.Address))
            {
                return(originalRequest.Uri);
            }

            DnsMessage message = state_.Dns.Resolve(originalRequest.Uri.DnsSafeHost);

            if (null == message)
            {
                throw new ApplicationException(string.Format("Could not resolve '{0}' with DNS '{1}'", originalRequest.Uri.DnsSafeHost, state_.Config.Dns.Server));
            }

            foreach (DnsRecordBase recordBase in message.AnswerRecords)
            {
                ARecord record = recordBase as ARecord;
                if (record == null)
                {
                    continue;
                }

                string host = originalRequest.Uri.Host;
                string url  = originalRequest.Uri.AbsoluteUri.Replace(host, record.Address.ToString());

                return(new Uri(url));
            }

            return(originalRequest.Uri);
        }