Sha256: d54a3ead3964912c7cc4ea10965ce115ccef4c7d7d2e61086a57408fe0c4e08c
Contents?: true
Size: 881 Bytes
Versions: 3
Compression:
Stored size: 881 Bytes
Contents
require 'envoy/client/trunk' require 'envoy/client/option_parser' require 'envoy/version' require 'yaml' def find_config dirs = Dir.pwd.split("/") r = dirs.reduce([]) do |m, x| [[*m[0], x], *m] end.map do |p| p.join("/") + "/.envoy" end.each do |p| return p if File.exist?(p) end false end def load_config if path = find_config conf = YAML.load(File.read(path)) conf.is_a?(Array) ? conf : [conf] else [{"local_port" => "80"}] end end options = parse_options unless EM.reactor_running? EM.run do load_config.each do |config| config = options.merge(config) config["local_port"] ||= rand(16383) + 49152 config["hosts"] ||= [config.delete("host")] if config["host"] config = config.each_with_object({}) do |(k, v), h| h[k.to_sym] = v end Envoy::Client::Trunk.start config end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
envoy-proxy-0.1.4 | lib/envoy/client/command.rb |
envoy-proxy-0.1.3 | lib/envoy/client/command.rb |
envoy-proxy-0.1.2 | lib/envoy/client/command.rb |