class Rubroxy::Proxy

Main class of the proxy object, includes control methods

Attributes

server[RW]

Public Class Methods

new(host, port, logger_level = 3) click to toggle source

Creates the proxy object, defines logging levels and host:port

@param host [String] Hostname of the proxy (eg: localhost, 127.0.0.1 etc) @param port [Integer] The expected port number (eg: 8080) @param logger_level [Integer] Sets the detail of the logger included. @return [Proxy]

# File lib/rubroxy/proxy_core.rb, line 12
def initialize(host, port, logger_level = 3)
  logger = Logger.new($stderr)
  logger.level = logger_level
  access_log = [] if logger.level == 3
  @server = WEBrick::HTTPProxyServer.new(Port: port,
                                         Logger: logger,
                                         AccessLog: access_log,
                                         BindAddress: host)
end

Public Instance Methods

add_rules(handler) click to toggle source

Adds a Proc object to the Proxy server

@param handler [Proc] The proc object to be passed into the server config

# File lib/rubroxy/proxy_core.rb, line 25
def add_rules(handler)
  @server.config[:ProxyContentHandler] = handler
end
start_server() click to toggle source

Starts the server process, including traps for process termination

# File lib/rubroxy/proxy_core.rb, line 30
def start_server
  Signal.trap('INT') { stop_server }
  Signal.trap('TERM') { stop_server }

  @server.start
end
stop_server() click to toggle source

Shuts down the proxy server

# File lib/rubroxy/proxy_core.rb, line 38
def stop_server
  @server.shutdown
end