class Typhoeus::Response

def headers_hash

def headers_hash
  @headers_hash ||= begin
    headers.split("\n").map {|o| o.strip}.inject(Typhoeus::NormalizedHeaderHash.new) do |hash, o|
      if o.empty? || o =~ /^HTTP\/[\d\.]+/
        hash
      else
        i = o.index(":") || o.size
        key = o.slice(0, i)
        value = o.slice(i + 1, o.size)
        value = value.strip unless value.nil?
        if hash.has_key? key
          hash[key] = [hash[key], value].flatten
        else
          hash[key] = value
        end
        hash
      end
    end
  end
end