class LogStash::Outputs::SumoLogic::HeaderBuilder
Public Class Methods
new(config)
click to toggle source
# File lib/logstash/outputs/sumologic/header_builder.rb, line 10 def initialize(config) @extra_headers = config["extra_headers"] ||= {} @source_category = config["source_category"] ||= CATEGORY_HEADER_DEFAULT @stats_category = config["stats_category"] ||= CATEGORY_HEADER_DEFAULT_STATS @source_host = config["source_host"] ||= Socket.gethostname @source_name = config["source_name"] ||= NAME_HEADER_DEFAULT @metrics = config["metrics"] @fields_as_metrics = config["fields_as_metrics"] @metrics_format = (config["metrics_format"] ||= CARBON2).downcase @compress = config["compress"] @compress_encoding = config["compress_encoding"] end
Public Instance Methods
build(event)
click to toggle source
# File lib/logstash/outputs/sumologic/header_builder.rb, line 25 def build(event) headers = Hash.new headers.merge!(@extra_headers) headers[CLIENT_HEADER] = CLIENT_HEADER_VALUE headers[CATEGORY_HEADER] = event.sprintf(@source_category) unless blank?(@source_category) headers[HOST_HEADER] = event.sprintf(@source_host) unless blank?(@source_host) headers[NAME_HEADER] = event.sprintf(@source_name) unless blank?(@source_name) append_content_header(headers) append_compress_header(headers) headers end
build_stats()
click to toggle source
# File lib/logstash/outputs/sumologic/header_builder.rb, line 37 def build_stats() headers = Hash.new headers.merge!(@extra_headers) headers[CLIENT_HEADER] = CLIENT_HEADER_VALUE headers[CATEGORY_HEADER] = @stats_category headers[HOST_HEADER] = Socket.gethostname headers[NAME_HEADER] = NAME_HEADER_DEFAULT headers[CONTENT_TYPE] = CONTENT_TYPE_CARBON2 append_compress_header(headers) headers end
Private Instance Methods
append_compress_header(headers)
click to toggle source
# File lib/logstash/outputs/sumologic/header_builder.rb, line 58 def append_compress_header(headers) if @compress headers[CONTENT_ENCODING] = (@compress_encoding == GZIP) ? GZIP : DEFLATE end end
append_content_header(headers)
click to toggle source
# File lib/logstash/outputs/sumologic/header_builder.rb, line 50 def append_content_header(headers) contentType = CONTENT_TYPE_LOG if @metrics || @fields_as_metrics contentType = (@metrics_format == GRAPHITE) ? CONTENT_TYPE_GRAPHITE : CONTENT_TYPE_CARBON2 end headers[CONTENT_TYPE] = contentType end