Sha256: e951bbb88ad5d180ddeada3cb605991706188f0df008d496ffeb0a8ea65f7fd3

Contents?: true

Size: 614 Bytes

Versions: 5

Compression:

Stored size: 614 Bytes

Contents

# typed: true
require 'zlib'

module Datadog
  module Utils
    # Common database-related utility functions.
    module Compression
      module_function

      def gzip(string, level: nil, strategy: nil)
        sio = StringIO.new
        sio.binmode
        gz = Zlib::GzipWriter.new(sio, level, strategy)
        gz.write(string)
        gz.close
        sio.string
      end

      def gunzip(string, encoding = ::Encoding::ASCII_8BIT)
        sio = StringIO.new(string)
        gz = Zlib::GzipReader.new(sio, encoding: encoding)
        gz.read
      ensure
        gz && gz.close
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ddtrace-0.54.2 lib/ddtrace/utils/compression.rb
ddtrace-0.54.1 lib/ddtrace/utils/compression.rb
ddtrace-0.54.0 lib/ddtrace/utils/compression.rb
ddtrace-0.53.0 lib/ddtrace/utils/compression.rb
ddtrace-0.52.0 lib/ddtrace/utils/compression.rb