Method: HTTP::Message.escape_query

Defined in:
lib/httpclient/http.rb

.escape_query(query) ⇒ Object

:nodoc:



873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
# File 'lib/httpclient/http.rb', line 873

def escape_query(query) # :nodoc:
  pairs = []
  query.each { |attr, value|
    left = escape(attr.to_s) << '='
    if values = Array.try_convert(value)
      values.each { |v|
        if v.respond_to?(:read)
          v = v.read
        end
        pairs.push(left + escape(v.to_s))
      }
    else
      if value.respond_to?(:read)
        value = value.read
      end
      pairs.push(left << escape(value.to_s))
    end
  }
  pairs.join('&')
end