Sha256: ea6fad617806d1eebad1873b37f6e6358c59df2346c03eaee0023d27fb1b6e4d
Contents?: true
Size: 953 Bytes
Versions: 17
Compression:
Stored size: 953 Bytes
Contents
# frozen_string_literal: true require 'shellwords' require 'proxy_rb/credentials' require 'proxy_rb/proxy_url_parser' # ProxyRb module ProxyRb # Represent proxy class HttpProxy attr_reader :url, :credentials def initialize(parser) @url = parser.proxy_url @credentials = parser.credentials end def host url.host end def port url.port end def user credentials.user_name end def password credentials.password end def empty? host.nil? || host.empty? end # Convert to symbol to reference the proxy # # @return [Symbol] # <host>_<port>_<credentials> def to_ref Shellwords.escape(*[host, port, user].compact.join('_')).to_sym end # Return proxy as full url # # @return [ProxyUrl] # The proxy as url def full_url ProxyUrl.build url.to_hash.merge(credentials.to_hash) end end end
Version data entries
17 entries across 17 versions & 1 rubygems