mirror of
https://github.com/lostisland/faraday.git
synced 2025-11-22 00:08:56 -05:00
parent
c78cb61ef1
commit
445152b164
@ -149,10 +149,10 @@ module Faraday
|
||||
def build_nested_query(value, prefix = nil)
|
||||
case value
|
||||
when Array
|
||||
value.map { |v| build_nested_query(v, "#{prefix}[]") }.join("&")
|
||||
value.map { |v| build_nested_query(v, "#{prefix}%5B%5D") }.join("&")
|
||||
when Hash
|
||||
value.map { |k, v|
|
||||
build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k))
|
||||
build_nested_query(v, prefix ? "#{prefix}%5B#{escape(k)}%5D" : escape(k))
|
||||
}.join("&")
|
||||
when NilClass
|
||||
prefix
|
||||
|
||||
@ -32,7 +32,7 @@ class RequestMiddlewareTest < Faraday::TestCase
|
||||
def test_url_encoded_no_header
|
||||
response = @conn.post('/echo', { :fruit => %w[apples oranges] })
|
||||
assert_equal 'application/x-www-form-urlencoded', response.headers['Content-Type']
|
||||
assert_equal 'fruit[]=apples&fruit[]=oranges', response.body
|
||||
assert_equal 'fruit%5B%5D=apples&fruit%5B%5D=oranges', response.body
|
||||
end
|
||||
|
||||
def test_url_encoded_with_header
|
||||
@ -56,6 +56,11 @@ class RequestMiddlewareTest < Faraday::TestCase
|
||||
assert err.empty?
|
||||
end
|
||||
|
||||
def test_url_encoded_nested_keys
|
||||
response = @conn.post('/echo', {'a'=>{'b'=>{'c'=>['d']}}})
|
||||
assert_equal "a%5Bb%5D%5Bc%5D%5B%5D=d", response.body
|
||||
end
|
||||
|
||||
def test_multipart
|
||||
# assume params are out of order
|
||||
regexes = [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user