class Fluent::Plugin::HttpInput::Handler
def handle_options_request
Web browsers can send an OPTIONS request before performing POST
def handle_options_request # Is CORS enabled in the first place? if @cors_allow_origins.nil? return send_response_and_close("403 Forbidden", {}, "") end # in_http does not support HTTP methods except POST if @access_control_request_method != 'POST' return send_response_and_close("403 Forbidden", {}, "") end header = { "Access-Control-Allow-Methods" => "POST", "Access-Control-Allow-Headers" => @access_control_request_headers || "", } # Check the origin and send back a CORS response if @cors_allow_origins.include?('*') header["Access-Control-Allow-Origin"] = "*" send_response_and_close("200 OK", header, "") elsif include_cors_allow_origin header["Access-Control-Allow-Origin"] = @origin send_response_and_close("200 OK", header, "") else send_response_and_close("403 Forbidden", {}, "") end end