mirror of
https://github.com/lostisland/faraday.git
synced 2025-08-30 00:03:09 -04:00
Changes to http_proxy implimentation and tests after useful feedback
This commit is contained in:
parent
e262523d08
commit
22495617d2
@ -34,8 +34,7 @@ module Faraday
|
||||
|
||||
self.url_prefix = url if url
|
||||
|
||||
options[:proxy] = ENV['http_proxy'] if options[:proxy].nil?
|
||||
proxy(options[:proxy])
|
||||
proxy(options.fetch(:proxy) { ENV['http_proxy'] })
|
||||
|
||||
@params.update options[:params] if options[:params]
|
||||
@headers.update options[:headers] if options[:headers]
|
||||
|
@ -1,13 +1,15 @@
|
||||
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
||||
|
||||
class TestConnection < Faraday::TestCase
|
||||
def setup
|
||||
@tmp_http_proxy = ENV['http_proxy']
|
||||
ENV['http_proxy'] = nil
|
||||
end
|
||||
|
||||
def teardown
|
||||
ENV['http_proxy'] = @tmp_http_proxy
|
||||
def with_proxy_env(proxy)
|
||||
old_proxy = ENV['http_proxy']
|
||||
ENV['http_proxy'] = proxy
|
||||
begin
|
||||
yield
|
||||
ensure
|
||||
ENV['http_proxy'] = old_proxy
|
||||
end
|
||||
end
|
||||
|
||||
def test_initialize_parses_host_out_of_given_url
|
||||
@ -206,41 +208,46 @@ class TestConnection < Faraday::TestCase
|
||||
end
|
||||
|
||||
def test_proxy_accepts_string
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy 'http://proxy.com'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal [:uri], conn.proxy.keys
|
||||
with_proxy_env "http://duncan.proxy.com:80" do
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy 'http://proxy.com'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal [:uri], conn.proxy.keys
|
||||
end
|
||||
end
|
||||
|
||||
def test_proxy_accepts_uri
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy Addressable::URI.parse('http://proxy.com')
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal [:uri], conn.proxy.keys
|
||||
with_proxy_env "http://duncan.proxy.com:80" do
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy Addressable::URI.parse('http://proxy.com')
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal [:uri], conn.proxy.keys
|
||||
end
|
||||
end
|
||||
|
||||
def test_proxy_accepts_hash_with_string_uri
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy :uri => 'http://proxy.com', :user => 'rick'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal 'rick', conn.proxy[:user]
|
||||
with_proxy_env "http://duncan.proxy.com:80" do
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy :uri => 'http://proxy.com', :user => 'rick'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal 'rick', conn.proxy[:user]
|
||||
end
|
||||
end
|
||||
|
||||
def test_proxy_accepts_hash
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy :uri => Addressable::URI.parse('http://proxy.com'), :user => 'rick'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal 'rick', conn.proxy[:user]
|
||||
with_proxy_env "http://duncan.proxy.com:80" do
|
||||
conn = Faraday::Connection.new
|
||||
conn.proxy :uri => Addressable::URI.parse('http://proxy.com'), :user => 'rick'
|
||||
assert_equal 'proxy.com', conn.proxy[:uri].host
|
||||
assert_equal 'rick', conn.proxy[:user]
|
||||
end
|
||||
end
|
||||
|
||||
def test_proxy_accepts_http_env
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
conn = Faraday::Connection.new
|
||||
assert_equal 'duncan.proxy.com', conn.proxy[:uri].host
|
||||
with_proxy_env "http://duncan.proxy.com:80" do
|
||||
conn = Faraday::Connection.new
|
||||
assert_equal 'duncan.proxy.com', conn.proxy[:uri].host
|
||||
end
|
||||
end
|
||||
|
||||
def test_proxy_requires_uri
|
||||
|
@ -2,9 +2,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
||||
|
||||
class EnvTest < Faraday::TestCase
|
||||
def setup
|
||||
@tmp_http_proxy = ENV['http_proxy']
|
||||
ENV['http_proxy'] = "http://duncan.proxy.com:80"
|
||||
|
||||
@conn = Faraday.new :url => 'http://sushi.com/api',
|
||||
:headers => {'Mime-Version' => '1.0'},
|
||||
:request => {:oauth => {:consumer_key => 'anonymous'}}
|
||||
@ -15,10 +12,6 @@ class EnvTest < Faraday::TestCase
|
||||
@conn.proxy 'http://proxy.com'
|
||||
end
|
||||
|
||||
def teardown
|
||||
ENV['http_proxy'] = @tmp_http_proxy
|
||||
end
|
||||
|
||||
def test_request_create_stores_method
|
||||
env = make_env(:get)
|
||||
assert_equal :get, env[:method]
|
||||
|
Loading…
x
Reference in New Issue
Block a user