Sha256: 0104b2a8f26b479f84ec22bf67bc3e5e3c94b4704ae05dbb74aff113741debe8

Contents?: true

Size: 597 Bytes

Versions: 5

Compression:

Stored size: 597 Bytes

Contents

require 'socket'

class PostageApp::Diagnostics
  # == Instance Methods =====================================================

  def initialize(config)
    @config = config
  end

  def proxy_host_resolved
    resolve(@config.proxy_host, 'socks5')
  end

  def host_resolved
    resolve(@config.host, @config.protocol)
  end

protected
  def resolve(fqdn, service)
    return unless (fqdn)

    Socket.getaddrinfo(fqdn, service).map do |e|
      # Result: [ family, port, name, ip, faily, socktype, protocol ]
      e[3]
    end.uniq

  rescue SocketError
    # Couldn't resolve, so nil
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
postageapp-1.4.2 lib/postageapp/diagnostics.rb
postageapp-1.4.1 lib/postageapp/diagnostics.rb
postageapp-1.4.0 lib/postageapp/diagnostics.rb
postageapp-1.3.1 lib/postageapp/diagnostics.rb
postageapp-1.3.0 lib/postageapp/diagnostics.rb