Plugin Helper: Http Server
require 'fluent/plugin/input'
module Fluent::Plugin
class ExampleInput < Input
Fluent::Plugin.register_output('example', self)
# 1. Load http_server helper
helpers :http_server
config_param :bind, :string
config_param :port, :integer
def start
super
# 2. Create and start HTTP server
create_http_server(:example_http_server, addr: @bind, port: @port, logger: log) do |serv|
# Define endpoint `/hello` with GET method
serv.get('/hello') { [200, { 'Content-Type' => 'text/plain' }, 'hello!'] }
end
end
end
endMethods
create_http_server(title, addr:, port:, logger:, default_app: nil, &block) (deprecated)
create_http_server(title, addr:, port:, logger:, default_app: nil, &block) (deprecated)http_server_create_http_server(title, addr:, port:, logger:, default_app: nil, proto: nil, tls_opts: nil, &block)
http_server_create_http_server(title, addr:, port:, logger:, default_app: nil, proto: nil, tls_opts: nil, &block)http_server_create_https_server(title, addr:, port:, logger:, default_app: nil, tls_opts: nil, &block)
http_server_create_https_server(title, addr:, port:, logger:, default_app: nil, tls_opts: nil, &block)Handling of other HTTP Methods
Request and Response
Request
Response
Example
Plugins using http_server
http_serverLast updated
Was this helpful?