Sha256: 260bf1a22c6ca6a059a8274a951811da9c0063a9ab642439658a905a884c9bfb

Contents?: true

Size: 864 Bytes

Versions: 64

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

module Aws
  module Crt
    # High level Ruby abstractions for CRT HTTP functionality
    module Http
      # HTTP Headers
      class Headers
        include Aws::Crt::ManagedNative
        native_destroy Aws::Crt::Native.method(
          :http_headers_release
        )

        def initialize(headers = {})
          blob = StringBlob.encode(headers.flatten)
          blob_ptr = FFI::MemoryPointer.new(:char, blob.length)
          blob_ptr.write_array_of_char(blob)

          manage_native do
            Aws::Crt::Native.http_headers_new_from_blob(blob_ptr, blob.length)
          end
        end

        def to_blob_strings
          buf_out = Aws::Crt::Native::CrtBuf.new
          Aws::Crt::Native.http_headers_to_blob(native, buf_out)
          StringBlob.decode(buf_out.to_blob)
        end
      end
    end
  end
end

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
aws-crt-0.4.0-x86_64-linux lib/aws-crt/http/headers.rb
aws-crt-0.4.0-x86_64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.4.0-universal-java lib/aws-crt/http/headers.rb
aws-crt-0.4.0-arm64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.4.0-aarch64-linux lib/aws-crt/http/headers.rb
aws-crt-0.4.0 lib/aws-crt/http/headers.rb
aws-crt-0.3.0 lib/aws-crt/http/headers.rb
aws-crt-0.3.0-x86_64-linux lib/aws-crt/http/headers.rb
aws-crt-0.3.0-x86_64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.3.0-universal-java lib/aws-crt/http/headers.rb
aws-crt-0.3.0-arm64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.3.0-aarch64-linux lib/aws-crt/http/headers.rb
aws-crt-0.2.1-aarch64-linux lib/aws-crt/http/headers.rb
aws-crt-0.2.1-arm64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.2.1-universal-java lib/aws-crt/http/headers.rb
aws-crt-0.2.1-x86_64-darwin lib/aws-crt/http/headers.rb
aws-crt-0.2.1-x86_64-linux lib/aws-crt/http/headers.rb
aws-crt-0.2.1 lib/aws-crt/http/headers.rb
aws-crt-0.2.0-x86_64-linux lib/aws-crt/http/headers.rb
aws-crt-0.2.0-x86_64-darwin lib/aws-crt/http/headers.rb