mirror of
https://github.com/lostisland/faraday.git
synced 2025-10-07 00:11:11 -04:00
reset connection builder by default when Faraday::Connection#build is called
This commit is contained in:
parent
6220abd088
commit
f033ad4730
@ -25,11 +25,12 @@ module Faraday
|
|||||||
end
|
end
|
||||||
|
|
||||||
def build(options = {}, &block)
|
def build(options = {}, &block)
|
||||||
if options[:reset]
|
inner = @handlers.shift
|
||||||
|
if !options[:keep]
|
||||||
@handlers.clear
|
@handlers.clear
|
||||||
end
|
end
|
||||||
block.call(self)
|
block.call(self)
|
||||||
run(self.class.inner_app)
|
run(inner || self.class.inner_app)
|
||||||
end
|
end
|
||||||
|
|
||||||
def [](index)
|
def [](index)
|
||||||
|
@ -219,6 +219,36 @@ class TestConnection < Faraday::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_allows_rebuilding_of_connection_handlers
|
||||||
|
conn = Faraday::Connection.new
|
||||||
|
conn.to_app
|
||||||
|
inner = conn.builder.handlers[0]
|
||||||
|
mware = conn.builder.handlers[1].call({})
|
||||||
|
assert_kind_of Faraday::Adapter::NetHttp, mware
|
||||||
|
|
||||||
|
conn.build do |b|
|
||||||
|
b.adapter :test
|
||||||
|
end
|
||||||
|
mware = conn.builder.handlers[1].call({})
|
||||||
|
assert_kind_of Faraday::Adapter::Test, mware
|
||||||
|
assert_equal inner, conn.builder.handlers[0]
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_allows_extending_of_existing_connection_handlers
|
||||||
|
conn = Faraday::Connection.new
|
||||||
|
conn.to_app
|
||||||
|
mware = conn.builder.handlers[1].call({})
|
||||||
|
assert_kind_of Faraday::Adapter::NetHttp, mware
|
||||||
|
assert_equal 2, conn.builder.handlers.size
|
||||||
|
|
||||||
|
conn.build :keep => true do |b|
|
||||||
|
b.adapter :test
|
||||||
|
end
|
||||||
|
mware = conn.builder.handlers[1].call({})
|
||||||
|
assert_kind_of Faraday::Adapter::Test, mware
|
||||||
|
assert_equal 3, conn.builder.handlers.size
|
||||||
|
end
|
||||||
|
|
||||||
def test_sets_default_adapter_if_none_set
|
def test_sets_default_adapter_if_none_set
|
||||||
conn = Faraday::Connection.new
|
conn = Faraday::Connection.new
|
||||||
assert_equal 0, conn.builder.handlers.size
|
assert_equal 0, conn.builder.handlers.size
|
||||||
|
Loading…
x
Reference in New Issue
Block a user