class LogStash::Outputs::SumoLogic::Compressor

Public Class Methods

new(config) click to toggle source
# File lib/logstash/outputs/sumologic/compressor.rb, line 11
def initialize(config)
  @compress = config["compress"]
  @compress_encoding = (config["compress_encoding"] ||= DEFLATE).downcase
end

Public Instance Methods

compress(content) click to toggle source
# File lib/logstash/outputs/sumologic/compressor.rb, line 16
def compress(content)
  if @compress
    if @compress_encoding == GZIP
      result = gzip(content)
      result.bytes.to_a.pack("c*")
    else
      Zlib::Deflate.deflate(content)
    end
  else
    content
  end
end
gzip(content) click to toggle source
# File lib/logstash/outputs/sumologic/compressor.rb, line 29
def gzip(content)
  stream = StringIO.new("w")
  stream.set_encoding("ASCII")
  gz = Zlib::GzipWriter.new(stream)
  gz.write(content)
  gz.close
  stream.string.bytes.to_a.pack("c*")
end