redfish_client 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2bb83aba67c60478769756f451642c1cee20e2a8
4
- data.tar.gz: dd14b581e356f10253e9b0b9cd941d2162dd2540
2
+ SHA256:
3
+ metadata.gz: 89fe47fe3e6d6e82a1c1fbce3a33e101ec9c0dc70b9e4725205c1e987c1f4b38
4
+ data.tar.gz: 823ea29d9a34c9a460c6a65b385714d08fa50caaeb829dfb7f1747af78389b63
5
5
  SHA512:
6
- metadata.gz: 67444264c37cf0f05e00262c5b2f9270511809fac96ede321166de38cfe30ec174d879db42b5b2f32f553f0a6b26eff87a2cdbebbaf59ab895fc64fef0294b11
7
- data.tar.gz: f24893766d33f32415205011f8b2f555b55f88cb6c6726202ca5849d0074b813006396a5ec6e58d11429db45aa2c8469f92f860b5fd2ae64facba50755fcc545
6
+ metadata.gz: 8699fd26e3c468d864132e5790ab6037d2ac6e767a38c96ee07a12c9edd29ba77aceb1937287f9bf877db0ccf23534d790bfe3aaa3ce1d87d63eb98e4f75d25d
7
+ data.tar.gz: 6538ec3de254d305b25fa076fb72d72866ec8162717c3cd1205f4c957d84b310a46b23490514e8b665acc121b6556e19b202261fc8f273d925c61ef99d5639e9
@@ -29,6 +29,7 @@ module RedfishClient
29
29
  # Basic and token authentication header names
30
30
  BASIC_AUTH_HEADER = "Authorization"
31
31
  TOKEN_AUTH_HEADER = "X-Auth-Token"
32
+ LOCATION_HEADER = "Location"
32
33
 
33
34
  # Create new connector.
34
35
  #
@@ -218,9 +219,21 @@ module RedfishClient
218
219
  r = @connection.request(params)
219
220
  raise_invalid_auth_error unless r.status == 201
220
221
 
221
- token = r.data[:headers][TOKEN_AUTH_HEADER]
222
- add_headers(TOKEN_AUTH_HEADER => token)
223
- @session_oid = JSON.parse(r.data[:body])["@odata.id"]
222
+ body = JSON.parse(r.data[:body])
223
+ headers = r.data[:headers]
224
+
225
+ add_headers(TOKEN_AUTH_HEADER => headers[TOKEN_AUTH_HEADER])
226
+ save_session_oid!(body, headers)
227
+ end
228
+
229
+ def save_session_oid!(body, headers)
230
+ @session_oid = body["@odata.id"] if body.key?("@odata.id")
231
+ return if @session_oid
232
+
233
+ return unless headers.key?(LOCATION_HEADER)
234
+
235
+ location = URI.parse(headers[LOCATION_HEADER])
236
+ @session_oid = [location.path, location.query].compact.join("?")
224
237
  end
225
238
 
226
239
  def basic_login
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "uri"
4
+
3
5
  module RedfishClient
4
6
  # Response struct.
5
7
  #
@@ -20,13 +22,20 @@ module RedfishClient
20
22
  end
21
23
 
22
24
  def monitor
23
- done? ? nil : headers["location"]
25
+ return nil if done?
26
+
27
+ uri = URI.parse(headers["location"])
28
+ [uri.path, uri.query].compact.join("?")
24
29
  end
25
30
 
26
31
  def to_h
27
32
  { "status" => status, "headers" => headers, "body" => body }
28
33
  end
29
34
 
35
+ def to_s
36
+ "Response[status=#{status}, headers=#{headers}, body='#{body}']"
37
+ end
38
+
30
39
  def self.from_hash(data)
31
40
  new(*data.values_at("status", "headers", "body"))
32
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RedfishClient
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.2"
5
5
  end
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.required_ruby_version = "~> 2.1"
31
31
 
32
- spec.add_runtime_dependency "excon", "~> 0.60"
32
+ spec.add_runtime_dependency "excon", "~> 0.71"
33
33
  spec.add_runtime_dependency "server_sent_events", "~> 0.1"
34
34
 
35
35
  spec.add_development_dependency "rake", ">= 11.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redfish_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tadej Borovšak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-04 00:00:00.000000000 Z
11
+ date: 2020-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.60'
19
+ version: '0.71'
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.60'
26
+ version: '0.71'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: server_sent_events
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  version: '0'
186
186
  requirements: []
187
187
  rubyforge_project:
188
- rubygems_version: 2.6.14
188
+ rubygems_version: 2.7.7
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Simple Redfish client library