class Fluent::PluginHelper::HttpServer::App
Public Class Methods
new(router, logger)
click to toggle source
# File lib/fluent/plugin_helper/http_server/app.rb, line 25 def initialize(router, logger) @logger = logger @router = router end
Public Instance Methods
call(request)
click to toggle source
Required method by async-http
# File lib/fluent/plugin_helper/http_server/app.rb, line 31 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