Sha256: 28c6654f2b3bb8d405feeeedb26e505430635f93678fd3d4c3629ac7af306ed0

Contents?: true

Size: 600 Bytes

Versions: 3

Compression:

Stored size: 600 Bytes

Contents

# -*- encoding : utf-8 -*-
module Pacto
  module Extensions
    # Adapted from Faraday
    HeaderKeyMap = Hash.new do |map, key|
      split_char = key.to_s.include?('-') ? '-' : '_'
      map[key] = key.to_s.split(split_char).     # :user_agent => %w(user agent)
          each(&:capitalize!).   # => %w(User Agent)
          join('-')                     # => "User-Agent"
    end
    HeaderKeyMap[:etag] = 'ETag'

    def self.normalize_header_keys(headers)
      headers.each_with_object({}) do |(key, value), normalized|
        normalized[HeaderKeyMap[key]] = value
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pacto-0.4.0.rc3 lib/pacto/extensions.rb
pacto-0.4.0.rc2 lib/pacto/extensions.rb
pacto-0.4.0.rc1 lib/pacto/extensions.rb