class Typhoeus::NormalizedHeaderHash

def [](key)

def [](key)
  super(convert_key(key))
end

def []=(key, value)

def []=(key, value)
  super(convert_key(key), value)
end

def convert_key(key)

def convert_key(key)
  key.to_s.split(/_|-/).map { |segment| segment.capitalize }.join("-")
end

def delete(key)

def delete(key)
  super(convert_key(key))
end

def dup

def dup
  self.class.new(self)
end

def fetch(key, *extras)

def fetch(key, *extras)
  super(convert_key(key), *extras)
end

def initialize(constructor = {})

def initialize(constructor = {})
  if constructor.is_a?(Hash)
    super
    update(constructor)
  else
    super(constructor)
  end
end

def key?(key)

def key?(key)
  super(convert_key(key))
end

def merge(hash)

def merge(hash)
  self.dup.update(hash)
end

def update(other_hash)

def update(other_hash)
  other_hash.each_pair do |key, value|
    self[convert_key(key)] = value
  end
  self
end