class Fluent::PluginHelper::HttpServer::App

def call(request)

Required method by async-http
def call(request)
  method = request.method
  resp =
    case method
    when HttpServer::Methods::GET
      get(request)
    when HttpServer::Methods::HEAD
      head(request)
    when HttpServer::Methods::POST
      post(request)
    when HttpServer::Methods::PATCH
      patch(request)
    when HttpServer::Methods::PUT
      put(request)
    when HttpServer::Methods::DELETE
      delete(request)
    when HttpServer::Methods::OPTIONS
      options(request)
    when HttpServer::Methods::CONNECT
      connect(request)
    when HttpServer::Methods::TRACE
      trace(request)
    else
      raise "Unknown method #{method}"
    end
  Protocol::HTTP::Response[*resp]
rescue => e
  @logger.error(e)
  Protocol::HTTP::Response[500, { 'Content-Type' => 'text/plain' }, 'Internal Server Error']
end

def initialize(router, logger)

def initialize(router, logger)
  @logger = logger
  @router = router
end