faraday 0.8.9 → 0.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/lib/faraday.rb +1 -1
- data/lib/faraday/adapter/net_http.rb +2 -1
- data/lib/faraday/adapter/patron.rb +8 -2
- data/script/test +1 -1
- data/test/adapters/net_http_test.rb +31 -0
- data/test/adapters/patron_test.rb +1 -1
- data/test/adapters/typhoeus_test.rb +1 -1
- data/test/helper.rb +11 -8
- data/test/parameters_test.rb +24 -0
- metadata +3 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d43934c707a0fca6c31ccda1806c65af0c144b79
|
4
|
+
data.tar.gz: b30578af99d6349a20003d39441d66ee14f6992a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ad0e359c5aac602dd49f1c5c74a3009f0b42b5b42948f86cac8fd510603d46d75ab24ed30c4795903fc0b74cb0a828def6287f3dd097a37ec0e30ab673d2ca5
|
7
|
+
data.tar.gz: c713445a9a4efae7891594e8bb8bd7835ca32333db26df84d1e27f5eb8e80481683cea59a40afc42f31e9b4e6419605748410cf85cb75f598534e94870ea8219
|
data/Gemfile
CHANGED
@@ -5,16 +5,18 @@ gem 'jruby-openssl', '~> 0.8.8', :platforms => :jruby
|
|
5
5
|
gem 'rake'
|
6
6
|
|
7
7
|
group :test do
|
8
|
+
gem 'test-unit'
|
8
9
|
gem 'em-http-request', '>= 1.1', :require => 'em-http'
|
9
10
|
gem 'em-synchrony', '>= 1.0', :require => ['em-synchrony', 'em-synchrony/em-http']
|
10
11
|
gem 'excon', '>= 0.27.4'
|
11
12
|
gem 'leftright', '>= 0.9', :require => false
|
13
|
+
gem 'mime-types', '~> 1.25', :platforms => [:jruby, :ruby_18]
|
12
14
|
gem 'net-http-persistent', '>= 2.5', :require => false
|
13
15
|
gem 'patron', '>= 0.4.2', :platforms => :ruby
|
14
16
|
gem 'rack-test', '>= 0.6', :require => 'rack/test'
|
15
17
|
gem 'simplecov'
|
16
18
|
gem 'sinatra', '~> 1.3'
|
17
|
-
gem 'typhoeus', '~> 0.3.3', :platforms => :
|
19
|
+
gem 'typhoeus', '~> 0.3.3', :platforms => [:ruby_18, :ruby_19, :ruby_20, :ruby_21]
|
18
20
|
end
|
19
21
|
|
20
22
|
gemspec
|
data/lib/faraday.rb
CHANGED
@@ -24,6 +24,7 @@ module Faraday
|
|
24
24
|
]
|
25
25
|
|
26
26
|
NET_HTTP_EXCEPTIONS << OpenSSL::SSL::SSLError if defined?(OpenSSL)
|
27
|
+
NET_HTTP_EXCEPTIONS << Net::OpenTimeout if defined?(Net::OpenTimeout)
|
27
28
|
|
28
29
|
def call(env)
|
29
30
|
super
|
@@ -81,7 +82,7 @@ module Faraday
|
|
81
82
|
Net::HTTP::Proxy(proxy[:uri].host, proxy[:uri].port, proxy[:user], proxy[:password])
|
82
83
|
else
|
83
84
|
Net::HTTP
|
84
|
-
end.new(env[:url].host, env[:url].port)
|
85
|
+
end.new(env[:url].host, env[:url].port || (env[:url].scheme == 'https' ? 443 : 80))
|
85
86
|
end
|
86
87
|
|
87
88
|
def configure_ssl(http, ssl)
|
@@ -52,8 +52,14 @@ module Faraday
|
|
52
52
|
# HAX: helps but doesn't work completely
|
53
53
|
# https://github.com/toland/patron/issues/34
|
54
54
|
::Patron::Request::VALID_ACTIONS.tap do |actions|
|
55
|
-
|
56
|
-
|
55
|
+
if actions[0].is_a?(Symbol)
|
56
|
+
actions << :patch unless actions.include? :patch
|
57
|
+
actions << :options unless actions.include? :options
|
58
|
+
else
|
59
|
+
# Patron 0.4.20 and up
|
60
|
+
actions << "PATCH" unless actions.include? "PATCH"
|
61
|
+
actions << "OPTIONS" unless actions.include? "OPTIONS"
|
62
|
+
end
|
57
63
|
end
|
58
64
|
end
|
59
65
|
|
data/script/test
CHANGED
@@ -149,7 +149,7 @@ run_test_files() {
|
|
149
149
|
|
150
150
|
check_warnings() {
|
151
151
|
# Display Ruby warnings from this project's source files. Abort if any were found.
|
152
|
-
num="$(grep -F "$PWD" "$warnings" | grep -v "${PWD}/bundle" | sort | uniq -c | sort -rn | tee /dev/stderr | wc -l)"
|
152
|
+
num="$(grep -F "$PWD" "$warnings" | grep -v "${PWD}/vendor/bundle" | sort | uniq -c | sort -rn | tee /dev/stderr | wc -l)"
|
153
153
|
rm -f "$warnings"
|
154
154
|
if [ "$num" -gt 0 ]; then
|
155
155
|
echo "FAILED: this test suite doesn't tolerate Ruby syntax warnings!" >&2
|
@@ -1,4 +1,6 @@
|
|
1
1
|
require File.expand_path('../integration', __FILE__)
|
2
|
+
require 'ostruct'
|
3
|
+
require 'uri'
|
2
4
|
|
3
5
|
module Adapters
|
4
6
|
class NetHttpTest < Faraday::TestCase
|
@@ -10,5 +12,34 @@ module Adapters
|
|
10
12
|
|
11
13
|
Integration.apply(self, *behaviors)
|
12
14
|
|
15
|
+
def test_no_explicit_http_port_number
|
16
|
+
url = URI('http://example.com')
|
17
|
+
url.port = nil
|
18
|
+
|
19
|
+
adapter = Faraday::Adapter::NetHttp.new
|
20
|
+
http = adapter.net_http_connection(:url => url, :request => {})
|
21
|
+
|
22
|
+
assert_equal 80, http.port
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_no_explicit_https_port_number
|
26
|
+
url = URI('https://example.com')
|
27
|
+
url.port = nil
|
28
|
+
|
29
|
+
adapter = Faraday::Adapter::NetHttp.new
|
30
|
+
http = adapter.net_http_connection(:url => url, :request => {})
|
31
|
+
|
32
|
+
assert_equal 443, http.port
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_explicit_port_number
|
36
|
+
url = URI('https://example.com:1234')
|
37
|
+
|
38
|
+
adapter = Faraday::Adapter::NetHttp.new
|
39
|
+
http = adapter.net_http_connection(:url => url, :request => {})
|
40
|
+
|
41
|
+
assert_equal 1234, http.port
|
42
|
+
end
|
43
|
+
|
13
44
|
end
|
14
45
|
end
|
data/test/helper.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
rescue LoadError
|
1
|
+
if RUBY_VERSION >= '1.9'
|
2
|
+
require 'simplecov'
|
3
|
+
|
4
|
+
SimpleCov.start do
|
5
|
+
add_filter '/bundle/'
|
6
|
+
add_filter '/test/'
|
7
|
+
minimum_coverage(88.74)
|
9
8
|
end
|
10
9
|
end
|
11
10
|
|
@@ -71,6 +70,10 @@ module Faraday
|
|
71
70
|
defined? RUBY_ENGINE and 'rbx' == RUBY_ENGINE
|
72
71
|
end
|
73
72
|
|
73
|
+
def self.ruby_22_plus?
|
74
|
+
RUBY_VERSION > '2.2'
|
75
|
+
end
|
76
|
+
|
74
77
|
def self.ssl_mode?
|
75
78
|
ENV['SSL'] == 'yes'
|
76
79
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path("../helper", __FILE__)
|
2
|
+
|
3
|
+
class TestParameters < Faraday::TestCase
|
4
|
+
# emulates ActiveSupport::SafeBuffer#gsub
|
5
|
+
FakeSafeBuffer = Struct.new(:string) do
|
6
|
+
def to_s() self end
|
7
|
+
def gsub(regex)
|
8
|
+
string.gsub(regex) {
|
9
|
+
match, = $&, '' =~ /a/
|
10
|
+
yield(match)
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_escaping_safe_buffer_nested
|
16
|
+
monies = FakeSafeBuffer.new("$32,000.00")
|
17
|
+
assert_equal "a=%2432%2C000.00", Faraday::Utils.build_nested_query("a" => monies)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_escaping_safe_buffer_flat
|
21
|
+
monies = FakeSafeBuffer.new("$32,000.00")
|
22
|
+
assert_equal "a=%2432%2C000.00", Faraday::Utils.build_query("a" => monies)
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rick Olson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multipart-post
|
@@ -24,34 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.2.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: simplecov
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
27
|
description:
|
56
28
|
email: technoweenie@gmail.com
|
57
29
|
executables: []
|
@@ -115,6 +87,7 @@ files:
|
|
115
87
|
- test/middleware/retry_test.rb
|
116
88
|
- test/middleware_stack_test.rb
|
117
89
|
- test/multibyte.txt
|
90
|
+
- test/parameters_test.rb
|
118
91
|
- test/request_middleware_test.rb
|
119
92
|
- test/response_middleware_test.rb
|
120
93
|
- test/utils_test.rb
|
@@ -143,4 +116,3 @@ signing_key:
|
|
143
116
|
specification_version: 2
|
144
117
|
summary: HTTP/REST API client library.
|
145
118
|
test_files: []
|
146
|
-
has_rdoc:
|