rabbitmq_http_api_client 2.2.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog.md +22 -2
- data/README.md +17 -5
- data/lib/rabbitmq/http/client/health_checks.rb +1 -1
- data/lib/rabbitmq/http/client/request_helper.rb +1 -1
- data/lib/rabbitmq/http/client/response_helper.rb +9 -3
- data/lib/rabbitmq/http/client/version.rb +1 -1
- data/lib/rabbitmq/http/client.rb +10 -6
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9fe9cd3da39f8ad9d88cab48895b67278e5df0e5df8f5a397660bc6c73af671
|
4
|
+
data.tar.gz: cd233d873f713a5ec50a751a8a58992920f3f03761c8f18b313207febf57acb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a72745520c25dfbc6f5133dc6978b2ff4739ec3f8f56c4e344497a75f9716f7930d1c17fbf93f07a4e544818567d987f5d795ec2ede94e191a030627b2cb835a
|
7
|
+
data.tar.gz: 53c18efe60eec7b84f3e0738e6d7e04b76a796cdf6a15746fb9574cbf7becb5a379891fff9a9a8d88475df3e2bf619aa7d227ec6de872e37a5acaa66ba00152a
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,26 @@
|
|
1
|
-
## Changes Between 2.2.0 and
|
1
|
+
## Changes Between 2.2.0 and 3.0.0 (July 20, 2024)
|
2
2
|
|
3
|
-
|
3
|
+
### Why the Major Version Bump?
|
4
|
+
|
5
|
+
This release adopts a new major version of Faraday and targets
|
6
|
+
only [community supported RabbitMQ versions](https://www.rabbitmq.com/release-information),
|
7
|
+
which at this time means `3.13.x`.
|
8
|
+
|
9
|
+
While there are no major breaking changes in the library itself,
|
10
|
+
these two changes and more than two years that have passed since 2.0.0
|
11
|
+
warrant a major version bump.
|
12
|
+
|
13
|
+
### Support for Faraday 2.x
|
14
|
+
|
15
|
+
Contributed by @shashankmehra.
|
16
|
+
|
17
|
+
GitHub issue: [#63](https://github.com/ruby-amqp/rabbitmq_http_api_client/pull/63)
|
18
|
+
|
19
|
+
### Queue Deletion: Support for if-unused and if-empty
|
20
|
+
|
21
|
+
Contributed by @shashankmehra.
|
22
|
+
|
23
|
+
GitHub issue: [#62](https://github.com/ruby-amqp/rabbitmq_http_api_client/pull/62)
|
4
24
|
|
5
25
|
|
6
26
|
## Changes Between 2.1.0 and 2.2.0 (May 19, 2022)
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@ and will support more HTTP API features in the future
|
|
18
18
|
|
19
19
|
## Supported Ruby Versions
|
20
20
|
|
21
|
-
* CRuby 2.
|
21
|
+
* CRuby 2.5 through 3.x
|
22
22
|
* JRuby 9K
|
23
23
|
|
24
24
|
## Supported RabbitMQ Versions
|
@@ -32,7 +32,7 @@ All versions require [RabbitMQ Management UI plugin](http://www.rabbitmq.com/man
|
|
32
32
|
Add this line to your application's Gemfile:
|
33
33
|
|
34
34
|
``` ruby
|
35
|
-
gem 'rabbitmq_http_api_client', '>= 2.
|
35
|
+
gem 'rabbitmq_http_api_client', '>= 2.2.0'
|
36
36
|
```
|
37
37
|
|
38
38
|
And then execute:
|
@@ -116,7 +116,6 @@ h = client.overview
|
|
116
116
|
# List cluster nodes with detailed status info for each one of them
|
117
117
|
nodes = client.list_nodes
|
118
118
|
n = nodes.first
|
119
|
-
puts n.sockets_used
|
120
119
|
puts n.mem_used
|
121
120
|
puts n.run_queue
|
122
121
|
|
@@ -347,8 +346,21 @@ ps = client.clear_permissions_of("/", "guest")
|
|
347
346
|
|
348
347
|
## Running Tests
|
349
348
|
|
350
|
-
|
351
|
-
|
349
|
+
Before running the test suites, run a script that will set up the local node:
|
350
|
+
|
351
|
+
``` shell
|
352
|
+
export RUBY_RABBITMQ_HTTP_API_CLIENT_RABBITMQCTL="rabbitmqctl"
|
353
|
+
export RUBY_RABBITMQ_HTTP_API_CLIENT_RABBITMQ_PLUGINS="rabbitmq-plugins"
|
354
|
+
|
355
|
+
./bin/ci/before_build.sh
|
356
|
+
```
|
357
|
+
|
358
|
+
To run all specs:
|
359
|
+
|
360
|
+
``` shell
|
361
|
+
bundle install
|
362
|
+
bundle exec rspec -cfd spec
|
363
|
+
```
|
352
364
|
|
353
365
|
The test suite assumes that RabbitMQ is running locally with stock settings
|
354
366
|
and rabbitmq-management plugin enabled.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "hashie"
|
2
2
|
require "faraday"
|
3
|
-
require "
|
3
|
+
require "faraday/follow_redirects"
|
4
4
|
require "multi_json"
|
5
5
|
require "uri"
|
6
6
|
|
@@ -13,7 +13,7 @@ module RabbitMQ
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def decode_resource(response)
|
16
|
-
if response.nil? || response.body.empty?
|
16
|
+
if response.nil? || response.body.nil? || response.body.empty?
|
17
17
|
Hashie::Mash.new
|
18
18
|
else
|
19
19
|
decode_response_body(response.body)
|
@@ -31,7 +31,13 @@ module RabbitMQ
|
|
31
31
|
def decode_resource_collection(response)
|
32
32
|
collection = response.body.is_a?(Array) ? response.body : response.body.fetch('items')
|
33
33
|
|
34
|
-
collection.map
|
34
|
+
collection.map do |i|
|
35
|
+
if i == []
|
36
|
+
Hashie::Mash.new()
|
37
|
+
else
|
38
|
+
Hashie::Mash.new(i)
|
39
|
+
end
|
40
|
+
end
|
35
41
|
end
|
36
42
|
end
|
37
43
|
end
|
data/lib/rabbitmq/http/client.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "addressable/uri"
|
2
2
|
require "hashie"
|
3
3
|
require "faraday"
|
4
|
-
require "
|
4
|
+
require "faraday/follow_redirects"
|
5
5
|
require "multi_json"
|
6
6
|
require "uri"
|
7
7
|
|
@@ -177,8 +177,12 @@ module RabbitMQ
|
|
177
177
|
decode_resource(response)
|
178
178
|
end
|
179
179
|
|
180
|
-
def delete_queue(vhost, name)
|
181
|
-
|
180
|
+
def delete_queue(vhost, name, if_unused = false, if_empty = false)
|
181
|
+
response = @connection.delete("queues/#{encode_uri_path_segment(vhost)}/#{encode_uri_path_segment(name)}") do |req|
|
182
|
+
req.params["if-unused"] = true if if_unused
|
183
|
+
req.params["if-empty"] = true if if_empty
|
184
|
+
end
|
185
|
+
decode_resource(response)
|
182
186
|
end
|
183
187
|
|
184
188
|
def list_queue_bindings(vhost, queue, query = {})
|
@@ -443,12 +447,12 @@ module RabbitMQ
|
|
443
447
|
user = uri.user || options.delete(:username) || "guest"
|
444
448
|
password = uri.password || options.delete(:password) || "guest"
|
445
449
|
options = options.merge(:url => uri.to_s)
|
446
|
-
adapter = options.delete(:adapter) || Faraday.default_adapter
|
450
|
+
adapter = options.delete(:adapter) || Faraday.default_adapter || :httpclient
|
447
451
|
|
448
452
|
@connection = Faraday.new(options) do |conn|
|
449
|
-
conn.request :
|
453
|
+
conn.request :authorization, :basic, user, password
|
450
454
|
|
451
|
-
conn.use
|
455
|
+
conn.use Faraday::FollowRedirects::Middleware, :limit => 3
|
452
456
|
conn.use Faraday::Response::RaiseError
|
453
457
|
conn.response :json, :content_type => /\bjson$/
|
454
458
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbitmq_http_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klishin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.9'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.9'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: faraday-follow_redirects
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0.3'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0.3'
|
83
83
|
description: RabbitMQ HTTP API client for Ruby
|
84
84
|
email:
|
85
85
|
- michael@clojurewerkz.org
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
requirements: []
|
118
|
-
rubygems_version: 3.
|
118
|
+
rubygems_version: 3.5.9
|
119
119
|
signing_key:
|
120
120
|
specification_version: 4
|
121
121
|
summary: RabbitMQ HTTP API client for Ruby
|