class Invoker::Power::UrlRewriter

Public Instance Methods

extract_host_from_domain(complete_path) click to toggle source
# File lib/invoker/power/url_rewriter.rb, line 16
def extract_host_from_domain(complete_path)
  matching_strings = []
  tld_match_regex.map do |regexp|
    if (match_result = complete_path.match(regexp))
      matching_strings << match_result[1]
    end
  end
  matching_strings.uniq
end
select_backend_config(complete_path) click to toggle source
# File lib/invoker/power/url_rewriter.rb, line 4
def select_backend_config(complete_path)
  possible_matches = extract_host_from_domain(complete_path)
  exact_match = nil
  possible_matches.each do |match|
    if match
      exact_match = dns_check(process_name: match)
      break if exact_match.port
    end
  end
  exact_match
end

Private Instance Methods

dns_check(dns_args) click to toggle source
# File lib/invoker/power/url_rewriter.rb, line 33
def dns_check(dns_args)
  Invoker::IPC::UnixClient.send_command("dns_check", dns_args) do |dns_response|
    dns_response
  end
end
tld_match_regex() click to toggle source
# File lib/invoker/power/url_rewriter.rb, line 28
def tld_match_regex
  tld = Invoker.config.tld
  [/([\w.-]+)\.#{tld}(\:\d+)?$/, /([\w-]+)\.#{tld}(\:\d+)?$/]
end