diff --git a/lib/faraday/options/proxy_options.rb b/lib/faraday/options/proxy_options.rb index c91dfc8d2..f94fe5745 100644 --- a/lib/faraday/options/proxy_options.rb +++ b/lib/faraday/options/proxy_options.rb @@ -11,6 +11,9 @@ class ProxyOptions < Options.new(:uri, :user, :password) def self.from(value) case value when String + # URIs without a scheme should default to http (like 'example:123'). + # This fixes #1282 and prevents a silent failure in some adapters. + value = "http://#{value}" unless value.include?('://') value = { uri: Utils.URI(value) } when URI value = { uri: value } @@ -19,6 +22,7 @@ def self.from(value) value[:uri] = Utils.URI(uri) end end + super(value) end diff --git a/spec/faraday/options/proxy_options_spec.rb b/spec/faraday/options/proxy_options_spec.rb index a64ef0e27..7951554b8 100644 --- a/spec/faraday/options/proxy_options_spec.rb +++ b/spec/faraday/options/proxy_options_spec.rb @@ -14,6 +14,13 @@ expect(options.inspect).to match('#