class Emque::Consuming::CommandReceivers::HttpServer::Handler

Public Instance Methods

call(env) click to toggle source
# File lib/emque/consuming/command_receivers/http_server.rb, line 42
def call(env)
  req = env["REQUEST_URI"].split("/")

  case req[1]
  when "status"
    return render_status
  when "control"
    case req[2]
    when "errors"
      if req[3..-1] && runner.control.errors(*req[3..-1]) == true
        return render_status
      end
    else
      if req[2].is_a?(String) &&
         app.manager.workers.has_key?(req[2].to_sym) &&
         runner.control.workers(*req[2..-1]) == true
        return render_status
      end
    end
  end

  render_404
end
render_404() click to toggle source
# File lib/emque/consuming/command_receivers/http_server.rb, line 66
def render_404
  [404, {}, ["Not Found"]]
end
render_status(additional = {}) click to toggle source
# File lib/emque/consuming/command_receivers/http_server.rb, line 70
def render_status(additional = {})
  [
    200,
    {},
    [
      Oj.dump(
        runner.status.to_hsh.merge(additional),
        :mode => :compat
      )
    ]
  ]
end