module Patron::Util

def build_query_pairs_from_hash(hash, escape_values=false)

def build_query_pairs_from_hash(hash, escape_values=false)
  pairs = []
  recursive = Proc.new do |h, prefix|
    h.each_pair do |k,v|
      key = prefix == '' ? k : "#{prefix}[#{k}]"
      v = Patron::Session.escape(v.to_s) if escape_values
      v.is_a?(Hash) ? recursive.call(v, key) : pairs << "#{key}=#{v}"
    end
  end
  recursive.call(hash, '')
  pairs
end