hal-client 3.6.0 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/hal-client.gemspec +1 -1
- data/lib/hal_client/version.rb +1 -1
- data/lib/hal_client.rb +16 -6
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c95d8286a947d3e8cd05ace7fcdc4cb17ef8822
|
4
|
+
data.tar.gz: 50a135afb535a846fe8bd89a44eab315e4ccb41f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 152f91baac2a1ce9a5fd24058ca676b75d425a94e2467d89e194f36a563a24e09b9fb7b69385cd004f1422f6b53dea22ee24f628e2926fb87c14e247f5253273
|
7
|
+
data.tar.gz: 41e520737a434e9fc273fc0a5d6e0afe29f0fa9a55b42d1d565f9902bac92417379e68a5b248967c84eec8e2877898e064603622751d75d57a6e732b7cb9c3d0
|
data/hal-client.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "http", "~> 0.
|
21
|
+
spec.add_dependency "http", "~> 0.7"
|
22
22
|
spec.add_dependency "addressable", "~> 2.3"
|
23
23
|
spec.add_dependency "multi_json", "~> 1.9"
|
24
24
|
|
data/lib/hal_client/version.rb
CHANGED
data/lib/hal_client.rb
CHANGED
@@ -29,10 +29,12 @@ class HalClient
|
|
29
29
|
# for the request or a string which will always be the value of
|
30
30
|
# the authorization header
|
31
31
|
# :headers - a hash of other headers to send on each request.
|
32
|
+
# :base_client - An HTTP::Client object to use.
|
32
33
|
def initialize(options={})
|
33
34
|
@default_message_request_headers = HTTP::Headers.new
|
34
35
|
@default_entity_request_headers = HTTP::Headers.new
|
35
36
|
@auth_helper = as_callable(options.fetch(:authorization, NullAuthHelper))
|
37
|
+
@base_client ||= options[:base_client]
|
36
38
|
|
37
39
|
default_message_request_headers.set('Accept', options[:accept]) if
|
38
40
|
options[:accept]
|
@@ -70,6 +72,9 @@ class HalClient
|
|
70
72
|
def get(url, headers={})
|
71
73
|
headers = auth_headers(url).merge(headers)
|
72
74
|
interpret_response client_for_get(override_headers: headers).get(url)
|
75
|
+
|
76
|
+
rescue HttpError => e
|
77
|
+
fail e.class.new("GET <#{url}> failed with code #{e.response.status}", e.response)
|
73
78
|
end
|
74
79
|
|
75
80
|
class << self
|
@@ -80,13 +85,18 @@ class HalClient
|
|
80
85
|
headers = auth_headers(url).merge(headers)
|
81
86
|
|
82
87
|
req_body = if data.respond_to? :to_hal
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
88
|
+
data.to_hal
|
89
|
+
else
|
90
|
+
data
|
91
|
+
end
|
92
|
+
|
93
|
+
begin
|
94
|
+
interpret_response client_for_post(override_headers: headers)
|
95
|
+
.request(method, url, body: req_body)
|
87
96
|
|
88
|
-
|
89
|
-
|
97
|
+
rescue HttpError => e
|
98
|
+
fail e.class.new("#{method.to_s.upcase} <#{url}> failed with code #{e.response.status}", e.response)
|
99
|
+
end
|
90
100
|
end
|
91
101
|
end
|
92
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hal-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: '0.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: addressable
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|