don't override excon's global connection settings

Update excon's settings on the connection instance, not globally for
all connections (even ones made outside of faraday). Address
deprecation warnings.
This commit is contained in:
Dan Dofter 2012-05-08 18:32:59 -07:00
parent 6c0b3b1bbe
commit 24ced570ed
2 changed files with 5 additions and 4 deletions

View File

@ -7,7 +7,7 @@ end
group :test do group :test do
gem 'em-http-request', '~> 1.0', :require => 'em-http' gem 'em-http-request', '~> 1.0', :require => 'em-http'
gem 'em-synchrony', '~> 1.0', :require => ['em-synchrony', 'em-synchrony/em-http'], :platforms => :ruby_19 gem 'em-synchrony', '~> 1.0', :require => ['em-synchrony', 'em-synchrony/em-http'], :platforms => :ruby_19
gem 'excon', '~> 0.6' gem 'excon', '~> 0.9', '> 0.9.6'
gem 'httpclient', '~> 2.2' gem 'httpclient', '~> 2.2'
gem 'net-http-persistent', '~> 2.5', :require => false gem 'net-http-persistent', '~> 2.5', :require => false
gem 'leftright', '~> 0.9', :require => false gem 'leftright', '~> 0.9', :require => false

View File

@ -6,11 +6,12 @@ module Faraday
def call(env) def call(env)
super super
conn = ::Excon.new(env[:url].to_s) opts = {}
if env[:url].scheme == 'https' && ssl = env[:ssl] if env[:url].scheme == 'https' && ssl = env[:ssl]
::Excon.ssl_verify_peer = !!ssl.fetch(:verify, true) opts[:ssl_verify_peer] = !!ssl.fetch(:verify, true)
::Excon.ssl_ca_path = ssl[:ca_file] if ssl[:ca_file] opts[:ssl_ca_path] = ssl[:ca_file] if ssl[:ca_file]
end end
conn = ::Excon.new(env[:url].to_s, opts)
resp = conn.request \ resp = conn.request \
:method => env[:method].to_s.upcase, :method => env[:method].to_s.upcase,