Sha256: e2fd1aedf8d461746e779fa460301e75eb799cea4bfcdcfc914c2ebe3ffbf61d

Contents?: true

Size: 746 Bytes

Versions: 15

Compression:

Stored size: 746 Bytes

Contents

module RspecApiDocumentation
  module Headers
    private

    def env_to_headers(env)
      headers = {}
      env.each do |key, value|
        # HTTP_ACCEPT_CHARSET => Accept-Charset
        if key =~ /^(HTTP_|CONTENT_TYPE)/
          header = key.gsub(/^HTTP_/, '').titleize.split.join("-")
          headers[header] = value
        end
      end
      headers
    end

    def headers_to_env(headers)
      headers.inject({}) do |hsh, (k, v)|
        new_key = k.upcase.gsub("-", "_")
        new_key = "HTTP_#{new_key}" unless new_key == "CONTENT_TYPE"
        hsh[new_key] = v
        hsh
      end
    end

    def format_headers(headers)
      headers.map do |key, value|
        "#{key}: #{value}"
      end.join("\n")
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
rspec_api_documentation-4.3.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-4.2.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-4.1.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-4.0.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-3.1.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-3.0.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-2.0.0 lib/rspec_api_documentation/headers.rb
rspec-api-documentation-1.1.1.alpha lib/rspec_api_documentation/headers.rb
rspec_api_documentation-1.1.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-1.0.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-0.9.2 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-0.9.1 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-0.9.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-0.8.0 lib/rspec_api_documentation/headers.rb
rspec_api_documentation-0.7.1 lib/rspec_api_documentation/headers.rb