faraday 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/faraday.gemspec +1 -1
- data/lib/faraday.rb +5 -45
- data/lib/faraday/connection.rb +15 -0
- data/test/connection_test.rb +19 -0
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.1
|
data/faraday.gemspec
CHANGED
data/lib/faraday.rb
CHANGED
@@ -4,6 +4,11 @@ module Faraday
|
|
4
4
|
class << self
|
5
5
|
attr_accessor :default_adapter
|
6
6
|
attr_writer :default_connection
|
7
|
+
|
8
|
+
private
|
9
|
+
def method_missing(name, *args, &block)
|
10
|
+
default_connection.send(name, *args, &block)
|
11
|
+
end
|
7
12
|
end
|
8
13
|
|
9
14
|
self.default_adapter = :net_http
|
@@ -12,51 +17,6 @@ module Faraday
|
|
12
17
|
@default_connection ||= Connection.new
|
13
18
|
end
|
14
19
|
|
15
|
-
# use the method signature from Faraday::Connection
|
16
|
-
def self.build(options = {}, &block)
|
17
|
-
default_connection.build(options, &block)
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.get(url = nil, headers = nil, &block)
|
21
|
-
default_connection.get(url, headers, &block)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.post(url = nil, body = nil, headers = nil, &block)
|
25
|
-
default_connection.post(url, body, headers, &block)
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.put(url = nil, body = nil, headers = nil, &block)
|
29
|
-
default_connection.put(url, body, headers, &block)
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.head(url = nil, headers = nil, &block)
|
33
|
-
default_connection.head(url, headers, &block)
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.delete(url = nil, headers = nil, &block)
|
37
|
-
default_connection.delete(url, headers, &block)
|
38
|
-
end
|
39
|
-
|
40
|
-
def self.in_parallel?
|
41
|
-
default_connection.in_parallel?
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.in_parallel(manager)
|
45
|
-
default_connection.in_parallel(manager)
|
46
|
-
end
|
47
|
-
|
48
|
-
def self.proxy(arg = nil)
|
49
|
-
default_connection.proxy(arg)
|
50
|
-
end
|
51
|
-
|
52
|
-
def self.url_prefix=(url)
|
53
|
-
default_connection.url_prefix = url
|
54
|
-
end
|
55
|
-
|
56
|
-
def self.path_prefix=(value)
|
57
|
-
default_connection.path_prefix = value
|
58
|
-
end
|
59
|
-
|
60
20
|
module AutoloadHelper
|
61
21
|
def register_lookup_modules(mods)
|
62
22
|
(@lookup_module_index ||= {}).update(mods)
|
data/lib/faraday/connection.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'addressable/uri'
|
2
2
|
require 'set'
|
3
|
+
require 'base64'
|
3
4
|
|
4
5
|
module Faraday
|
5
6
|
class Connection
|
@@ -68,6 +69,20 @@ module Faraday
|
|
68
69
|
run_request :delete, url, nil, headers, &block
|
69
70
|
end
|
70
71
|
|
72
|
+
def basic_auth(login, pass)
|
73
|
+
@headers['authorization'] = "Basic #{Base64.encode64("#{login}:#{pass}").strip}"
|
74
|
+
end
|
75
|
+
|
76
|
+
def token_auth(token, options = {})
|
77
|
+
values = ["token=#{token.to_s.inspect}"]
|
78
|
+
options.each do |key, value|
|
79
|
+
values << "#{key}=#{value.to_s.inspect}"
|
80
|
+
end
|
81
|
+
# 21 = "Authorization: Token ".size
|
82
|
+
comma = ",\n#{' ' * 21}"
|
83
|
+
@headers['authorization'] = "Token #{values * comma}"
|
84
|
+
end
|
85
|
+
|
71
86
|
def in_parallel?
|
72
87
|
!!@parallel_manager
|
73
88
|
end
|
data/test/connection_test.rb
CHANGED
@@ -52,6 +52,25 @@ class TestConnection < Faraday::TestCase
|
|
52
52
|
assert_equal '1', conn.headers['A']
|
53
53
|
end
|
54
54
|
|
55
|
+
def test_basic_auth_sets_authorization_header
|
56
|
+
conn = Faraday::Connection.new
|
57
|
+
conn.basic_auth 'Aladdin', 'open sesame'
|
58
|
+
assert_equal 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==', conn.headers['Authorization']
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_token_auth_sets_authorization_header
|
62
|
+
conn = Faraday::Connection.new
|
63
|
+
conn.token_auth 'abcdef'
|
64
|
+
assert_equal 'Token token="abcdef"', conn.headers['Authorization']
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_token_auth_with_options_sets_authorization_header
|
68
|
+
conn = Faraday::Connection.new
|
69
|
+
conn.token_auth 'abcdef', :nonce => 'abc'
|
70
|
+
assert_equal 'Token token="abcdef",
|
71
|
+
nonce="abc"', conn.headers['Authorization']
|
72
|
+
end
|
73
|
+
|
55
74
|
def test_build_url_uses_connection_host_as_default_uri_host
|
56
75
|
conn = Faraday::Connection.new
|
57
76
|
conn.host = 'sushi.com'
|