The :tags attribute is no longer required by Client#update_user. If not provided,
a blank list of tags will be used.
The client now can upload definitions (of queues, exchanges, etc):
defs = {
:queues => [{
:name => 'my-definition-queue',
:vhost => '/',
:durable => true,
:auto_delete => false,
:arguments => {
"x-dead-letter-exchange" => 'dead'
}
}]
}.to_json
c.upload_definitions(defs)Contributed by Pol Miro.
If provided endpoint contains a path, it will be used instead of /api.
Contributed by Pol Miro.
Client#protocol_ports no longer fails with a nil pointer exception
for non-administrators.
The library now depends on hashie ~> 3.2.
Contributed by Damon Morgan.
The library now depends on multi_json ~> 1.9.
Contributed by Damon Morgan.
The project now depends on Faraday 0.9.x.
Contributed by John Murphy.
RabbitMQ::HTTP::Client#delete_exchange is a new function that deletes exchanges:
c.delete_exchange("/", "an.exchange")Contributed by Matt Bostock.
The library no longer uses 1.9-specific hash syntax.
It is now possible to declare an exchange over HTTP API using RabbitMQ::HTTP::Client#declare_exchange:
c.declare_exchange("/", exchange_name, :durable => false, :type => "fanout")Contributed by Jake Davis (Simple).
The library now depends on hashie ~> 2.0.5.
The library now depends on faraday ~> 0.8.9.
The library now depends on multi_json ~> 1.8.4.
RabbitMQ::HTTP::Client#queue_binding_info,
RabbitMQ::HTTP::Client#bind_queue, and
RabbitMQ::HTTP::Client#delete_queue_binding
are new methods that operate on queue bindings:
c = RabbitMQ::HTTP::Client.new("http://guest:guest@127.0.0.1:15672")
c.bind_queue("/", "a.queue", "an.exchange", "routing.key")
c.queue_binding_info("/", "a.queue", "an.exchange", "properties.key")
c.delete_queue_binding("/", "a.queue", "an.exchange", "properties.key")Contributed by Noah Magram.
RabbitMQ::HTTP::Client#enabled_protocols is a new method that returns
a hash of enabled protocols to their ports. The keys are the same as
returned by Client#enabled_protocols:
# when TLS and MQTT plugin is enabled
c.protocol_ports # => {"amqp" => 5672, "amqp/ssl" => 5671, "mqtt" => 1883}RabbitMQ::HTTP::Client#enabled_protocols is a new method that returns
a list of enabled protocols. Some common values are:
amqp(AMQP 0-9-1)amqp/ssl(AMQP 0-9-1 with TLS enabled)mqttstomp
# when TLS and MQTT plugin is enabled
c.enabled_protocols # => ["amqp", "amqp/ssl", "mqtt"]It is now possible to pass credentials in the endpoint URI:
c = RabbitMQ::HTTP::Client.new("https://guest:guest@127.0.0.1:15672/")It is now possible to pass more options to Faraday connection, for example, HTTPS related ones:
c = RabbitMQ::HTTP::Client.new("https://127.0.0.1:15672/", username: "guest", password: "guest", ssl: {
client_cer: ...,
client_key: ...,
ca_file: ...,
ca_path: ...,
cert_store: ...
})Any options other than username and password will be passed on to
Faraday::Connection.
RabbitMQ::HTTP::Client#endpoint is a new reader (getter) that makes
it possible to access the URI a client instance uses.
4xx and 5xx responses now will result in meaningful exceptions
being raised. For example, 404 responses will raise Faraday::Error::ResourceNotFound.
The library now depends on multi_json ~> 1.7.0.
- Operations on queues
- Operations on users
- Operations on permissions
- Operations on parameters
- Operations on policies
- Status overview
- Cluster nodes information
- Operations on exchanges, queues, bindings
- Operations on connections