hawkular-client 4.0.0 → 4.1.0

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
2
  SHA1:
3
- metadata.gz: 29d98c76e5262c54b3c0949ebfd998051e3abb81
4
- data.tar.gz: b7c63829113d7bd814d5a300f3e6d8da36b48195
3
+ metadata.gz: 6d77d09316e981da7ac6e3b388086113d124edd8
4
+ data.tar.gz: b68cd6c87554d6277d2f3f58c2ed58d7af667b51
5
5
  SHA512:
6
- metadata.gz: 5e3c7e6e3ccc5bdd7357dfa435046bf428f7f5a88800222d4dedddcd6e525a28a348a6af6d725096c49b71b8c724ceed0263948b2ec85b9a963b31f2761dd92a
7
- data.tar.gz: 50aa5323c03caf2704e1d5848c7311ef7d9c640a7c73583aa911da9d8976262f75bc6139a385a8f541f58cdf1c1b5dd843e642ce4d9367523c5062370d2d214b
6
+ metadata.gz: 401153f15fb3a7fb00414e9febdb8499521338607dd473880ff66dfca8c742b7f613f4517126210d6991dbf4f91478c2ad3a111ea0629e680978755b94707d1b
7
+ data.tar.gz: f90f8cc4c20d36967403fca69d68c438b7166deb11637c0daf72e375712e6db1527b2bb9bda777f29db7f3f68308ebfbe0cdc75c4355408189e6f41847f28400
@@ -3,6 +3,9 @@
3
3
  This document describes the relevant changes between releases of the
4
4
  _hawkular-client_ project.
5
5
 
6
+ === v 4.1.0
7
+ * Fixed binary data handling when invoking <em>Export JDR</em> on operations API.
8
+ * Added <em>delete_immediately</em> parameter to <em>Export JDR</em> operation.
6
9
 
7
10
  === v 4.0.0
8
11
  * Standardized Exceptions under the Hawkular namespace, and the old names were deprecated, here is the list:
@@ -28,14 +28,40 @@ module Hawkular::Operations
28
28
  include WebSocket::Client
29
29
  include MonitorMixin
30
30
 
31
- attr_accessor :ws, :session_id, :logger
31
+ attr_accessor :ws, :logger
32
32
 
33
33
  # helper for parsing the "OperationName=json_payload" messages
34
34
  class WebSocket::Frame::Data
35
35
  def to_msg_hash
36
- chunks = split('=', 2)
36
+ operation_name, json = split('=', 2)
37
+
38
+ # Check if there is a zip file following JSON.
39
+ # This check is done only in the first 100KB, hoping it's unlikely to
40
+ # have such large amount of JSON before a zip file is attached.
41
+ magic_bits = [
42
+ "\x50\x4B\x03\x04", # "PK" + 0x03 + 0x04 = Regular ZIP file
43
+ "\x50\x4B\x05\x06", # "PK" + 0x05 + 0x06 = Empty ZIP
44
+ "\x50\x4B\x07\x08" # "PK" + 0x07 + 0x08 = Spanned ZIP
45
+ ]
46
+ search_chunk = json[0, 102_400]
47
+ zip_file = nil
48
+
49
+ magic_bits.each do |bits|
50
+ idx = search_chunk.index(bits)
51
+
52
+ next unless idx
53
+
54
+ zip_file = json[idx..-1]
55
+ json = json[0, idx]
56
+ break
57
+ end
58
+
59
+ # Parse JSON and, if received, attach zip file
60
+ json = JSON.parse(json)
61
+ json[:attachments] = zip_file
37
62
 
38
- { operationName: chunks[0], data: JSON.parse(chunks[1]) }
63
+ # Return processed data
64
+ { operationName: operation_name, data: json }
39
65
  rescue
40
66
  {}
41
67
  end
@@ -105,12 +131,8 @@ module Hawkular::Operations
105
131
  client.on(:message, once: true) do |msg|
106
132
  parsed_message = msg.data.to_msg_hash
107
133
 
134
+ logger = Hawkular::Logger.new
108
135
  logger.log("Sent WebSocket message: #{parsed_message}")
109
-
110
- case parsed_message[:operationName]
111
- when 'WelcomeResponse'
112
- @session_id = parsed_message[:data]['sessionId']
113
- end
114
136
  end
115
137
  end
116
138
 
@@ -304,12 +326,16 @@ module Hawkular::Operations
304
326
  # Exports the JDR report
305
327
  #
306
328
  # @param [String] resource_path canonical path of the WildFly server
329
+ # @param [Boolean] delete_immediately specifies whether the temporary file at the remote
330
+ # server should be deleted. False, by default.
307
331
  # @param callback [Block] callback that is run after the operation is done
308
- def export_jdr(resource_path, &callback)
332
+ def export_jdr(resource_path, delete_immediately = false, &callback)
309
333
  fail Hawkular::ArgumentError, 'resource_path must be specified' if resource_path.nil?
310
334
  check_pre_conditions(&callback)
311
335
 
312
- invoke_specific_operation({ resourcePath: resource_path }, 'ExportJdr', &callback)
336
+ invoke_specific_operation({ resourcePath: resource_path,
337
+ deleteImmediately: delete_immediately },
338
+ 'ExportJdr', &callback)
313
339
  end
314
340
 
315
341
  # Updates the collection intervals.
@@ -4,5 +4,5 @@
4
4
  # @see https://github.com/hawkular
5
5
  module Hawkular
6
6
  # Version of the Hawkular Ruby Gem
7
- VERSION = '4.0.0'.freeze
7
+ VERSION = '4.1.0'.freeze
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hawkular-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Libor Zoubek
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-06-27 00:00:00.000000000 Z
14
+ date: 2017-08-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
@@ -117,14 +117,14 @@ dependencies:
117
117
  requirements:
118
118
  - - '='
119
119
  - !ruby/object:Gem::Version
120
- version: 0.0.7
120
+ version: 0.1.0
121
121
  type: :development
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - '='
126
126
  - !ruby/object:Gem::Version
127
- version: 0.0.7
127
+ version: 0.1.0
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: yard
130
130
  requirement: !ruby/object:Gem::Requirement
@@ -279,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
279
  version: '0'
280
280
  requirements: []
281
281
  rubyforge_project:
282
- rubygems_version: 2.6.12
282
+ rubygems_version: 2.6.11
283
283
  signing_key:
284
284
  specification_version: 4
285
285
  summary: A Ruby client for Hawkular