Sha256: da9b3b24b9f6129b65ae6218e73b37ea210411d20dc9d893a629a07d2949b948

Contents?: true

Size: 761 Bytes

Versions: 19

Compression:

Stored size: 761 Bytes

Contents

# frozen_string_literal: true

require "zlib"
require "stringio"

module Datadog
  module CI
    module Transport
      module Gzip
        module_function

        def compress(input)
          sio = StringIO.new
          gzip_writer = Zlib::GzipWriter.new(sio, Zlib::DEFAULT_COMPRESSION, Zlib::DEFAULT_STRATEGY)
          gzip_writer << input
          gzip_writer.close
          sio.string
        end

        def decompress(input)
          sio = StringIO.new(input)
          gzip_reader = Zlib::GzipReader.new(
            sio,
            external_encoding: Encoding::UTF_8,
            internal_encoding: Encoding::UTF_8
          )
          gzip_reader.read || ""
        ensure
          gzip_reader&.close
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
datadog-ci-1.14.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.13.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.12.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.11.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.10.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.9.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.8.1 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.8.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.7.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.6.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.5.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.4.1 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.4.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.3.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.2.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.1.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.0.1 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.0.0 lib/datadog/ci/transport/gzip.rb
datadog-ci-1.0.0.beta6 lib/datadog/ci/transport/gzip.rb