mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-08-24 00:00:51 -04:00
URL-encode values (as well as keys) in GET params
This commit is contained in:
parent
cdde220990
commit
6b58d14fc1
@ -116,7 +116,7 @@ module Stripe
|
||||
when :get, :head, :delete
|
||||
# Make params into GET parameters
|
||||
if params && params.count
|
||||
query_string = Util.flatten_params(params).collect{|p| "#{p[0]}=#{p[1]}"}.join('&')
|
||||
query_string = Util.flatten_params(params).collect{|key, value| "#{key}=#{Util.url_encode(value)}"}.join('&')
|
||||
url += "?#{query_string}"
|
||||
end
|
||||
payload = nil
|
||||
|
@ -67,14 +67,14 @@ module Stripe
|
||||
end
|
||||
end
|
||||
|
||||
def self.encode_key(key)
|
||||
def self.url_encode(key)
|
||||
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
||||
end
|
||||
|
||||
def self.flatten_params(params, parent_key=nil)
|
||||
result = []
|
||||
params.each do |key, value|
|
||||
calculated_key = parent_key ? "#{parent_key}[#{encode_key(key)}]" : encode_key(key)
|
||||
calculated_key = parent_key ? "#{parent_key}[#{url_encode(key)}]" : url_encode(key)
|
||||
if value.is_a?(Hash)
|
||||
result += flatten_params(value, calculated_key)
|
||||
elsif value.is_a?(Array)
|
||||
|
Loading…
x
Reference in New Issue
Block a user