class Fluent::Plugin::HttpInput::Handler

def handle_options_request

to check if cross-origin requests are supported.
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