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