Sha256: e445564c5ac3661ad2a83755a7c07bb0ba88fd8e44985d32ed0f9efc3ed7f06c

Contents?: true

Size: 662 Bytes

Versions: 10

Compression:

Stored size: 662 Bytes

Contents

# frozen_string_literal: true

module OpenapiParameters
  # This is a wrapper around the Rack env hash that allows us to access headers with headers names
  class HeadersHash
    # This was copied from this Rack::Request PR: https://github.com/rack/rack/pull/1881
    # It is not yet released in Rack, so we copied it here.
    def initialize(env)
      @env = env
    end

    def [](k)
      @env[header_to_env_key(k)]
    end

    def key?(k)
      @env.key?(header_to_env_key(k))
    end

    def header_to_env_key(k)
      k = k.upcase
      k.tr!('-', '_')
      k = "HTTP_#{k}" unless %w[CONTENT_LENGTH CONTENT_TYPE].include?(k)
      k
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
openapi_parameters-0.4.0 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.3.4 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.3.3 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.3.2 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.3.1 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.3.0 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.2.2 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.2.1 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.2.0 lib/openapi_parameters/headers_hash.rb
openapi_parameters-0.1.0 lib/openapi_parameters/headers_hash.rb