faraday 0.5.5 → 0.5.6.pre
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.
- data/faraday.gemspec +3 -2
- data/lib/faraday.rb +1 -1
- data/lib/faraday/adapter.rb +3 -1
- data/lib/faraday/adapter/em_synchrony.rb +6 -5
- data/lib/faraday/adapter/excon.rb +41 -0
- data/test/adapters/live_test.rb +1 -2
- metadata +43 -6
data/faraday.gemspec
CHANGED
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
|
|
12
12
|
## If your rubyforge_project name is different, then edit it and comment out
|
13
13
|
## the sub! line in the Rakefile
|
14
14
|
s.name = 'faraday'
|
15
|
-
s.version = '0.5.
|
16
|
-
s.date = '2011-02-
|
15
|
+
s.version = '0.5.6.pre'
|
16
|
+
s.date = '2011-02-13'
|
17
17
|
s.rubyforge_project = 'faraday'
|
18
18
|
|
19
19
|
## Make sure your summary is short. The description may be as long
|
@@ -51,6 +51,7 @@ Gem::Specification.new do |s|
|
|
51
51
|
lib/faraday/adapter.rb
|
52
52
|
lib/faraday/adapter/action_dispatch.rb
|
53
53
|
lib/faraday/adapter/em_synchrony.rb
|
54
|
+
lib/faraday/adapter/excon.rb
|
54
55
|
lib/faraday/adapter/net_http.rb
|
55
56
|
lib/faraday/adapter/patron.rb
|
56
57
|
lib/faraday/adapter/test.rb
|
data/lib/faraday.rb
CHANGED
data/lib/faraday/adapter.rb
CHANGED
@@ -12,6 +12,7 @@ module Faraday
|
|
12
12
|
:Typhoeus => 'typhoeus',
|
13
13
|
:EMSynchrony => 'em_synchrony',
|
14
14
|
:Patron => 'patron',
|
15
|
+
:Excon => 'excon',
|
15
16
|
:Test => 'test'
|
16
17
|
|
17
18
|
register_lookup_modules \
|
@@ -20,7 +21,8 @@ module Faraday
|
|
20
21
|
:net_http => :NetHttp,
|
21
22
|
:typhoeus => :Typhoeus,
|
22
23
|
:patron => :Patron,
|
23
|
-
:em_synchrony => :EMSynchrony
|
24
|
+
:em_synchrony => :EMSynchrony,
|
25
|
+
:excon => :Excon
|
24
26
|
|
25
27
|
def call(env)
|
26
28
|
process_body_for_request(env)
|
@@ -1,9 +1,12 @@
|
|
1
|
-
require 'em-synchrony/em-http'
|
2
|
-
require 'fiber'
|
3
|
-
|
4
1
|
module Faraday
|
5
2
|
class Adapter
|
6
3
|
class EMSynchrony < Faraday::Adapter
|
4
|
+
begin
|
5
|
+
require 'em-synchrony/em-http'
|
6
|
+
require 'fiber'
|
7
|
+
rescue LoadError, NameError => e
|
8
|
+
self.load_error = e
|
9
|
+
end
|
7
10
|
|
8
11
|
class Header
|
9
12
|
include Net::HTTPHeader
|
@@ -21,9 +24,7 @@ module Faraday
|
|
21
24
|
|
22
25
|
def call(env)
|
23
26
|
process_body_for_request(env)
|
24
|
-
|
25
27
|
request = EventMachine::HttpRequest.new(URI::parse(env[:url].to_s))
|
26
|
-
|
27
28
|
options = {:head => env[:request_headers]}
|
28
29
|
|
29
30
|
if env[:body]
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Faraday
|
2
|
+
class Adapter
|
3
|
+
class Excon < Faraday::Adapter
|
4
|
+
begin
|
5
|
+
require 'excon'
|
6
|
+
rescue LoadError, NameError => e
|
7
|
+
self.load_error = e
|
8
|
+
end
|
9
|
+
|
10
|
+
def call(env)
|
11
|
+
super
|
12
|
+
|
13
|
+
conn = ::Excon.new(env[:url].to_s)
|
14
|
+
if ssl = (env[:url].scheme == 'https' && env[:ssl])
|
15
|
+
::Excon.ssl_verify_peer = !!ssl[:verify] if ssl.key?(:verify)
|
16
|
+
if ca_file = ssl[:ca_file]
|
17
|
+
::Excon.ssl_ca_path = ca_file
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
resp = conn.request \
|
22
|
+
:method => env[:method].to_s.upcase,
|
23
|
+
:headers => env[:request_headers],
|
24
|
+
:body => env[:body]
|
25
|
+
|
26
|
+
env.update \
|
27
|
+
:status => resp.status.to_i,
|
28
|
+
:response_headers => {},
|
29
|
+
:body => resp.body
|
30
|
+
|
31
|
+
resp.headers.each do |key, value|
|
32
|
+
env[:response_headers][key.downcase] = value
|
33
|
+
end
|
34
|
+
|
35
|
+
@app.call env
|
36
|
+
rescue ::Excon::Errors::SocketError => e
|
37
|
+
raise Error::ConnectionFailed.new(e)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/test/adapters/live_test.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
hash: 961916020
|
5
|
+
prerelease: true
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 6
|
10
|
+
- pre
|
11
|
+
version: 0.5.6.pre
|
6
12
|
platform: ruby
|
7
13
|
authors:
|
8
14
|
- Rick Olson
|
@@ -10,7 +16,7 @@ autorequire:
|
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
18
|
|
13
|
-
date: 2011-02-
|
19
|
+
date: 2011-02-13 00:00:00 -08:00
|
14
20
|
default_executable:
|
15
21
|
dependencies:
|
16
22
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +27,10 @@ dependencies:
|
|
21
27
|
requirements:
|
22
28
|
- - ~>
|
23
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 27
|
31
|
+
segments:
|
32
|
+
- 0
|
33
|
+
- 8
|
24
34
|
version: "0.8"
|
25
35
|
type: :development
|
26
36
|
version_requirements: *id001
|
@@ -32,6 +42,11 @@ dependencies:
|
|
32
42
|
requirements:
|
33
43
|
- - ~>
|
34
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 15
|
46
|
+
segments:
|
47
|
+
- 2
|
48
|
+
- 2
|
49
|
+
- 4
|
35
50
|
version: 2.2.4
|
36
51
|
type: :runtime
|
37
52
|
version_requirements: *id002
|
@@ -43,6 +58,11 @@ dependencies:
|
|
43
58
|
requirements:
|
44
59
|
- - ~>
|
45
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 19
|
62
|
+
segments:
|
63
|
+
- 1
|
64
|
+
- 1
|
65
|
+
- 0
|
46
66
|
version: 1.1.0
|
47
67
|
type: :runtime
|
48
68
|
version_requirements: *id003
|
@@ -54,9 +74,17 @@ dependencies:
|
|
54
74
|
requirements:
|
55
75
|
- - ">="
|
56
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 19
|
78
|
+
segments:
|
79
|
+
- 1
|
80
|
+
- 1
|
81
|
+
- 0
|
57
82
|
version: 1.1.0
|
58
83
|
- - <
|
59
84
|
- !ruby/object:Gem::Version
|
85
|
+
hash: 7
|
86
|
+
segments:
|
87
|
+
- 2
|
60
88
|
version: "2"
|
61
89
|
type: :runtime
|
62
90
|
version_requirements: *id004
|
@@ -78,6 +106,7 @@ files:
|
|
78
106
|
- lib/faraday/adapter.rb
|
79
107
|
- lib/faraday/adapter/action_dispatch.rb
|
80
108
|
- lib/faraday/adapter/em_synchrony.rb
|
109
|
+
- lib/faraday/adapter/excon.rb
|
81
110
|
- lib/faraday/adapter/net_http.rb
|
82
111
|
- lib/faraday/adapter/patron.rb
|
83
112
|
- lib/faraday/adapter/test.rb
|
@@ -120,17 +149,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
149
|
requirements:
|
121
150
|
- - ">="
|
122
151
|
- !ruby/object:Gem::Version
|
152
|
+
hash: 3
|
153
|
+
segments:
|
154
|
+
- 0
|
123
155
|
version: "0"
|
124
156
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
157
|
none: false
|
126
158
|
requirements:
|
127
|
-
- - "
|
159
|
+
- - ">"
|
128
160
|
- !ruby/object:Gem::Version
|
129
|
-
|
161
|
+
hash: 25
|
162
|
+
segments:
|
163
|
+
- 1
|
164
|
+
- 3
|
165
|
+
- 1
|
166
|
+
version: 1.3.1
|
130
167
|
requirements: []
|
131
168
|
|
132
169
|
rubyforge_project: faraday
|
133
|
-
rubygems_version: 1.
|
170
|
+
rubygems_version: 1.3.7
|
134
171
|
signing_key:
|
135
172
|
specification_version: 2
|
136
173
|
summary: HTTP/REST API client library.
|