class Fluent::Plugin::ParseMultipleValueQueryOutput
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 16 def initialize super require 'rack' end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 24 def configure(conf) super end
multi_workers_ready?()
click to toggle source
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 36 def multi_workers_ready? true end
parse_query_string(record, query_string)
click to toggle source
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 66 def parse_query_string(record, query_string) begin target = sub_key ? (record[sub_key] ||= {}) : record parsed_query = Rack::Utils.parse_nested_query(query_string) parsed_query.each do |key, value| if value == '' target[key] = '' else if value.class == Array && remove_empty_array if value.empty? || value == [''] || value == [nil] target.delete(key) else target[key] = value end else target[key] = value end end end rescue StandardError => e log.warn("out_parse_multiple_value_uri_query: error_class:#{e.class} error_message:#{e.message} record:#{record} bactrace:#{e.backtrace.first}") end record end
parse_uri(record)
click to toggle source
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 54 def parse_uri(record) return unless record[key] if only_query_string parse_query_string(record, record[key]) else url = without_host ? "http://example.com#{record[key]}" : record[key] query = URI.parse(url).query parse_query_string(record, query) end end
process(tag, es)
click to toggle source
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 40 def process(tag, es) es.each do |time, record| t = tag.dup new_record = parse_uri(record) t = @tag_prefix + t unless @tag_prefix.nil? router.emit(t, time, new_record) end chain.next rescue StandardError => e log.warn("out_parse_multiple_value_uri_query: error_class:#{e.class} error_message:#{e.message} tag:#{tag} es:#{es} bactrace:#{e.backtrace.first}") end
shutdown()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 32 def shutdown super end
start()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_parse_multiple_value_query.rb, line 28 def start super end