Method: Ronin::Web::Server::ReverseProxy#run!

Defined in:
lib/ronin/web/server/reverse_proxy.rb

#run!(host: DEFAULT_HOST, port: DEFAULT_PORT, server: DEFAULT_SERVER, **rack_options) ⇒ Object

Runs the reverse proxy as a standalone HTTP server.

Parameters:

  • host (String) (defaults to: DEFAULT_HOST)

    The host to bind to.

  • port (Integer) (defaults to: DEFAULT_PORT)

    The port to listen on.

  • server (String) (defaults to: DEFAULT_SERVER)

    The Rack server to run the reverse proxy under.

  • rack_options (Hash{Symbol => Object})

    Additional options to pass to Rack::Server.new.



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# File 'lib/ronin/web/server/reverse_proxy.rb', line 229

def run!(host: DEFAULT_HOST, port: DEFAULT_PORT, server: DEFAULT_SERVER,
         **rack_options)
  server = Rack::Server.new(
             app:    self,
             server: server,
             Host:   host,
             Port:   port,
             **rack_options
           )

  server.start do |handler|
    trap(:INT)  { quit!(server,handler) }
    trap(:TERM) { quit!(server,handler) }
  end

  return self
end