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