19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/envoy/client/option_parser.rb', line 19
def parse_options
options = default_options
OptionParser.new do |op|
op.banner = "Usage: #{$0} [options] [[HOST:]PORT] [LABEL]"
op.on "-l LABEL", "--label", "--host", "Allocate this domain label on the proxy" do |v|
options["hosts"] ||= []
options["hosts"] << v
end
op.on "-k KEY", "--key", "Secure access to the label with this key" do |v|
options["key"] = v
end
op.on "-s SERVER", "--server", "Specify envoy server" do |v|
host, port = v.split(":")
options["server_host"] = host
options["server_port"] ||= port
end
op.on "-c COMMAND", "Run this command" do |v|
options["command"] = v
end
op.on "-v", "--verbose", "Show messages. Repeat to show more." do
options["verbosity"] += 1
end
op.on "-q", "--quiet", "Hide messages. Repeat to hide more." do
options["verbosity"] -= 1
end
op.on "-h", "--help", "Show this message" do
puts op
exit
end
op.on "-V", "--version", "Show version number" do
puts Envoy::VERSION
exit
end
op.parse!
case ARGV[0]
when "rails"
options["pidfile"] = "tmp/pids/server.pid"
options["command"] = "rails s -p %{local_port}"
options["delay"] = 10
when "rackup"
options["command"] = "rackup -p %{local_port}"
options["delay"] = 10
when /^(\d+)$/
options["local_port"] = $1
when /^(\[[^\]+]\]|[^:]+):(\d+)$/x
options["local_host"] = $1
options["local_port"] = $2
when /^(.*)$/
options["local_host"] = $1
end
if ARGV[1]
options["hosts"] ||= []
options["hosts"] << ARGV[1]
end
end
options
end
|