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 @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 24 def build(event) headers = Hash.new headers.merge!(@extra_headers) headers[CLIENT_HEADER] = CLIENT_HEADER_VALUE headers[CATEGORY_HEADER] = event.sprintf(@source_category) unless @source_category.blank? headers[HOST_HEADER] = event.sprintf(@source_host) unless @source_host.blank? headers[NAME_HEADER] = event.sprintf(@source_name) unless @source_name.blank? append_content_header(headers) 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 45 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 37 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