module BalancingProxy::Server

Public Class Methods

run(backend) click to toggle source
# File lib/galerab/balancing_proxy.rb, line 46
def run(backend)
  # run the proxy server and wait for connections
  balancer_port = backend.conf["balancer_port"]
  backend_port = backend.conf["backend_port"]
  puts ANSI::Code.bold { "Launching proxy at 0.0.0.0:#{balancer_port}...\n" }

  Proxy.start(:host => '0.0.0.0', :port => balancer_port, :debug => false) do |conn|
    backend_host = backend.get_next
    if backend_host
      conn.server backend_host, :host => backend_host, :port => backend_port
      puts ANSI::Code.bold { "Farwarding to #{backend_host}\n" }

      conn.on_connect  &Callbacks.on_connect
      conn.on_data     &Callbacks.on_data
      conn.on_response &Callbacks.on_response
      conn.on_finish   &Callbacks.on_finish
    end
  end
end

Private Instance Methods

run(backend) click to toggle source
# File lib/galerab/balancing_proxy.rb, line 46
def run(backend)
  # run the proxy server and wait for connections
  balancer_port = backend.conf["balancer_port"]
  backend_port = backend.conf["backend_port"]
  puts ANSI::Code.bold { "Launching proxy at 0.0.0.0:#{balancer_port}...\n" }

  Proxy.start(:host => '0.0.0.0', :port => balancer_port, :debug => false) do |conn|
    backend_host = backend.get_next
    if backend_host
      conn.server backend_host, :host => backend_host, :port => backend_port
      puts ANSI::Code.bold { "Farwarding to #{backend_host}\n" }

      conn.on_connect  &Callbacks.on_connect
      conn.on_data     &Callbacks.on_data
      conn.on_response &Callbacks.on_response
      conn.on_finish   &Callbacks.on_finish
    end
  end
end