Method: Bundler::URI::Generic.use_proxy?

Defined in:
lib/bundler/vendor/uri/lib/uri/generic.rb

.use_proxy?(hostname, addr, port, no_proxy) ⇒ Boolean

:nodoc:

Returns:

  • (Boolean)


1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
# File 'lib/bundler/vendor/uri/lib/uri/generic.rb', line 1556

def self.use_proxy?(hostname, addr, port, no_proxy) # :nodoc:
  hostname = hostname.downcase
  dothostname = ".#{hostname}"
  no_proxy.scan(/([^:,\s]+)(?::(\d+))?/) {|p_host, p_port|
    if !p_port || port == p_port.to_i
      if p_host.start_with?('.')
        return false if hostname.end_with?(p_host.downcase)
      else
        return false if dothostname.end_with?(".#{p_host.downcase}")
      end
      if addr
        begin
          return false if IPAddr.new(p_host).include?(addr)
        rescue IPAddr::InvalidAddressError
          next
        end
      end
    end
  }
  true
end