Class: Rack::Handler::Birdmonger

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/handler/birdmonger.rb

Class Method Summary collapse

Class Method Details

.run(app, rack_opts = {}) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rack/handler/birdmonger.rb', line 29

def self.run(app, rack_opts = {})
  birdmonger_opts = Shellwords.split(ENV['BIRDMONGER_OPTS'] || '')

  if (endpoint = birdmonger_opts.find { |opt| opt.start_with?('-birdmonger.endpoint') })
    rack_opts[:Host], rack_opts[:Port] = endpoint.split(':')
  else
    birdmonger_opts.unshift("-birdmonger.endpoint=#{rack_opts[:Host]}:#{rack_opts[:Port]}")
  end

  set_handler(app, rack_opts)

  Birdmonger::Server.main(birdmonger_opts.to_java(:string))
end

.shutdownObject



43
44
45
# File 'lib/rack/handler/birdmonger.rb', line 43

def self.shutdown
  Birdmonger::Server.close(Duration.from_seconds(10))
end