class PostageApp::Diagnostics

Public Class Methods

new(config) click to toggle source

Instance Methods =====================================================

# File lib/postageapp/diagnostics.rb, line 6
def initialize(config)
  @config = config
end

Public Instance Methods

host_resolved() click to toggle source
# File lib/postageapp/diagnostics.rb, line 14
def host_resolved
  resolve(@config.host, @config.protocol)
end
proxy_host_resolved() click to toggle source
# File lib/postageapp/diagnostics.rb, line 10
def proxy_host_resolved
  resolve(@config.proxy_host, 'socks5')
end

Protected Instance Methods

resolve(fqdn, service) click to toggle source
# File lib/postageapp/diagnostics.rb, line 19
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