mirror of
https://github.com/lostisland/faraday.git
synced 2025-10-07 00:11:11 -04:00
Merge pull request #80 from whomwah/master
Add support for http_proxy environment variable
This commit is contained in:
commit
1e53edf46a
@ -33,7 +33,8 @@ module Faraday
|
||||
@parallel_manager = options[:parallel]
|
||||
|
||||
self.url_prefix = url if url
|
||||
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,6 +1,17 @@
|
||||
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
||||
|
||||
class TestConnection < Faraday::TestCase
|
||||
|
||||
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
|
||||
conn = Faraday::Connection.new "http://sushi.com"
|
||||
assert_equal 'sushi.com', conn.host
|
||||
@ -202,31 +213,46 @@ class TestConnection < Faraday::TestCase
|
||||
end
|
||||
|
||||
def test_proxy_accepts_string
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user