mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-11 00:01:46 -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
|
when :get, :head, :delete
|
||||||
# Make params into GET parameters
|
# Make params into GET parameters
|
||||||
if params && params.count
|
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}"
|
url += "?#{query_string}"
|
||||||
end
|
end
|
||||||
payload = nil
|
payload = nil
|
||||||
|
@ -67,14 +67,14 @@ module Stripe
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.encode_key(key)
|
def self.url_encode(key)
|
||||||
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.flatten_params(params, parent_key=nil)
|
def self.flatten_params(params, parent_key=nil)
|
||||||
result = []
|
result = []
|
||||||
params.each do |key, value|
|
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)
|
if value.is_a?(Hash)
|
||||||
result += flatten_params(value, calculated_key)
|
result += flatten_params(value, calculated_key)
|
||||||
elsif value.is_a?(Array)
|
elsif value.is_a?(Array)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user