mirror of
https://github.com/lostisland/faraday.git
synced 2025-11-22 00:08:56 -05:00
make NestedParamsEncoder the default in 0.9
This commit is contained in:
parent
af73cdddc5
commit
b035bcb990
@ -92,7 +92,7 @@ module Faraday
|
||||
:oauth)
|
||||
|
||||
def params_encoder
|
||||
self[:params_encoder] ||= NestedParamsEncoder
|
||||
self[:params_encoder] ||= Faraday::Utils.default_params_encoder
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -175,11 +175,13 @@ module Faraday
|
||||
NestedParamsEncoder.decode(query)
|
||||
end
|
||||
|
||||
class << self
|
||||
attr_accessor :default_params_encoder
|
||||
def default_params_encoder
|
||||
@default_params_encoder ||= NestedParamsEncoder
|
||||
end
|
||||
|
||||
self.default_params_encoder = FlatParamsEncoder
|
||||
class << self
|
||||
attr_writer :default_params_encoder
|
||||
end
|
||||
|
||||
# Stolen from Rack
|
||||
def normalize_params(params, name, v = nil)
|
||||
|
||||
@ -3,6 +3,10 @@ require 'uri'
|
||||
|
||||
class TestConnection < Faraday::TestCase
|
||||
|
||||
def teardown
|
||||
Faraday::Utils.default_params_encoder = nil
|
||||
end
|
||||
|
||||
def with_env(key, proxy)
|
||||
old_value = ENV.fetch(key, false)
|
||||
ENV[key] = proxy
|
||||
@ -323,13 +327,6 @@ class TestRequestParams < Faraday::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def get(*args)
|
||||
env = @conn.get(*args) do |req|
|
||||
yield req if block_given?
|
||||
end
|
||||
env[:url].query
|
||||
end
|
||||
|
||||
def assert_query_equal(expected, query)
|
||||
assert_equal expected, query.split('&').sort
|
||||
end
|
||||
@ -390,14 +387,37 @@ class TestRequestParams < Faraday::TestCase
|
||||
end
|
||||
|
||||
def test_array_params_in_url
|
||||
Faraday::Utils.default_params_encoder = nil
|
||||
create_connection 'http://a.co/page1?color[]=red&color[]=blue'
|
||||
query = get
|
||||
assert_equal "color%5B%5D=red&color%5B%5D=blue", query
|
||||
end
|
||||
|
||||
def test_array_params_in_params
|
||||
Faraday::Utils.default_params_encoder = nil
|
||||
create_connection 'http://a.co/page1', :params => {:color => ['red', 'blue']}
|
||||
query = get
|
||||
assert_equal "color%5B%5D=red&color%5B%5D=blue", query
|
||||
end
|
||||
|
||||
def test_array_params_in_url_with_flat_params
|
||||
Faraday::Utils.default_params_encoder = Faraday::FlatParamsEncoder
|
||||
create_connection 'http://a.co/page1?color=red&color=blue'
|
||||
query = get
|
||||
assert_equal "color=red&color=blue", query
|
||||
end
|
||||
|
||||
def test_array_params_in_params_with_flat_params
|
||||
Faraday::Utils.default_params_encoder = Faraday::FlatParamsEncoder
|
||||
create_connection 'http://a.co/page1', :params => {:color => ['red', 'blue']}
|
||||
query = get
|
||||
assert_equal "color=red&color=blue", query
|
||||
end
|
||||
|
||||
def get(*args)
|
||||
env = @conn.get(*args) do |req|
|
||||
yield req if block_given?
|
||||
end
|
||||
env[:url].query
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user