redfish_client 0.5.1 → 0.5.2

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 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