1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/app/status.rb
Evan Phoenix c5aad50eb4 Add App::Status rack app to control a server
Puma::App::Status is a rack app that can be used to control the current
server. It allows a server to be queried remotely programmaticly.
2011-12-05 09:01:19 -08:00

28 lines
587 B
Ruby

module Puma
module App
class Status
def initialize(server)
@server = server
end
def call(env)
case env['PATH_INFO']
when "/stop"
@server.stop
return [200, {}, ['{ "status": "ok" }']]
when "/halt"
@server.halt
return [200, {}, ['{ "status": "ok" }']]
when "/stats"
b = @server.backlog
r = @server.running
return [200, {}, ["{ \"backlog\": #{b}, \"running\": #{r} }"]]
end
[404, {}, ["Unsupported action"]]
end
end
end
end