Sha256: 8869bf234849bb1d186c88fa9ed14cb9b6d6cc0b12c9d4055245f9adc840c141

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'envoy/client/trunk'

require 'optparse'
require 'ostruct'

options = {
  server_host: 'p45.eu',
  server_port: "8282",
  local_host: '127.0.0.1',
  local_port: "80",
  tls: false,
  verbose: false,
  version: Envoy::VERSION
}

OptionParser.new do |op|
  op.banner = "Usage: #{$0} [options] [[HOST:]PORT]"
  op.on "--host HOST", "Allocate this domain label on the proxy" do |v|
    options[:hosts] ||= []
    options[:hosts] << v
  end
  op.on "-t", "--[no-]tls", "Encrypt communications with the envoy server" do |v|
    options[:tls] = v
  end
  op.on "-s", "--server SERVER", "Specify envoy/proxylocal server" do |v|
    host, port = v.split(":")
    options[:server_host] = host
    options[:server_port] ||= port
  end
  op.on "-v", "--[no-]verbose", "Be noisy about what's happening" do |v|
    options[:verbose] = v
  end
  op.on "-h", "--help", "Show this message" do
    puts op
    exit
  end
  op.parse!
  case ARGV[0]
  when /^(\d+)$/
    options[:local_port] = $1
  when /^(\[[^\]+]\]|[^:]+):(\d+)$/x
    options[:local_host] = $1
    options[:local_port] = $2
  when /^(.*)$/
    options[:local_host] = $1
  end
end

unless EM.reactor_running?
  EM.run do
    EM.connect options[:server_host], options[:server_port].to_i, Envoy::Client::Trunk, options
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
envoy-proxy-0.0.4 lib/envoy/client/command.rb