class Puma::App::Status
def call(env)
def call(env) unless authenticate(env) return rack_response(403, 'Invalid auth token', 'text/plain') end if env['PATH_INFO'] =~ /\/(gc-stats|stats|thread-backtraces)$/ require 'json' end case env['PATH_INFO'] when /\/stop$/ @cli.stop rack_response(200, OK_STATUS) when /\/halt$/ @cli.halt rack_response(200, OK_STATUS) when /\/restart$/ @cli.restart rack_response(200, OK_STATUS) when /\/phased-restart$/ if !@cli.phased_restart rack_response(404, '{ "error": "phased restart not available" }') else rack_response(200, OK_STATUS) end when /\/reload-worker-directory$/ if !@cli.send(:reload_worker_directory) rack_response(404, '{ "error": "reload_worker_directory not available" }') else rack_response(200, OK_STATUS) end when /\/gc$/ GC.start rack_response(200, OK_STATUS) when /\/gc-stats$/ rack_response(200, GC.stat.to_json) when /\/stats$/ rack_response(200, @cli.stats) else rack_response 404, "Unsupported action", 'text/plain' end end