[COMPOSER] Added predis/predis and updated packages
This commit is contained in:
2
vendor/richardfullmer/rabbitmq-management-api/.gitignore
vendored
Normal file
2
vendor/richardfullmer/rabbitmq-management-api/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/vendor/
|
||||
composer.lock
|
21
vendor/richardfullmer/rabbitmq-management-api/LICENSE
vendored
Normal file
21
vendor/richardfullmer/rabbitmq-management-api/LICENSE
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2013 Richard Fullmer
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
59
vendor/richardfullmer/rabbitmq-management-api/README.md
vendored
Normal file
59
vendor/richardfullmer/rabbitmq-management-api/README.md
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
PHP RabbitMQ Management Api
|
||||
===========================
|
||||
|
||||
A simple object oriented wrapper for the [RabbitMQ Management HTTP Api](http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_0_3/priv/www/api/index.html) in PHP 5.3
|
||||
|
||||
Uses [PHP-HTTP](http://docs.php-http.org/en/latest/index.html) for requests.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Installable through composer via:
|
||||
|
||||
```bash
|
||||
$ composer require richardfullmer/rabbitmq-management-api
|
||||
```
|
||||
|
||||
Additionally, you require a [httplug compatible client](http://docs.php-http.org/en/latest/clients.html).
|
||||
|
||||
For example, use the guzzle6 adapter:
|
||||
|
||||
```bash
|
||||
$ composer require php-http/guzzle6-adapter
|
||||
```
|
||||
|
||||
Basic Usage
|
||||
-----------
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
use RabbitMq\ManagementApi\Client;
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$client = new Client();
|
||||
$queue = $client->queues()->get('/', 'sample-messages-queue');
|
||||
$response = $client->exchanges()->publish('/', 'sample-messages', array(
|
||||
'properties' => array(),
|
||||
'routing_key' => '',
|
||||
'payload' => 'This is a test',
|
||||
'payload_encoding' => 'string'
|
||||
));
|
||||
|
||||
if ($response['routed']) {
|
||||
print 'Message delivered';
|
||||
}
|
||||
```
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
php-rabbitmq-management-api is licensed under the MIT License - see the LICENSE file for details
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
Structure from [KnpLabs php-github-api](https://github.com/KnpLabs/php-github-api)
|
||||
|
||||
Rabbit's Excellent Message Queue
|
34
vendor/richardfullmer/rabbitmq-management-api/composer.json
vendored
Normal file
34
vendor/richardfullmer/rabbitmq-management-api/composer.json
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "richardfullmer/rabbitmq-management-api",
|
||||
"type": "library",
|
||||
"description": "An object oriented wrapper for the RabbitMQ Management HTTP Api",
|
||||
"homepage": "https://github.com/richardfullmer/php-rabbitmq-management-api",
|
||||
"keywords": ["rest", "message queue", "rabbitmq"],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Richard Fullmer",
|
||||
"email": "richardfullmer@gmail.com",
|
||||
"homepage": "https://github.com/richardfullmer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.4",
|
||||
"psr/http-message": "^1.0",
|
||||
"php-http/client-implementation": "^1.0",
|
||||
"php-http/client-common": "^1.0",
|
||||
"php-http/httplug": "^1.0",
|
||||
"php-http/message-factory": "^1.0",
|
||||
"php-http/discovery": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"RabbitMq\\ManagementApi\\": "src/"
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.x-dev"
|
||||
}
|
||||
}
|
||||
}
|
18
vendor/richardfullmer/rabbitmq-management-api/src/Api/AbstractApi.php
vendored
Normal file
18
vendor/richardfullmer/rabbitmq-management-api/src/Api/AbstractApi.php
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
use RabbitMq\ManagementApi\Client;
|
||||
|
||||
/**
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class AbstractApi
|
||||
{
|
||||
protected $client;
|
||||
|
||||
public function __construct(Client $client)
|
||||
{
|
||||
$this->client = $client;
|
||||
}
|
||||
}
|
181
vendor/richardfullmer/rabbitmq-management-api/src/Api/Binding.php
vendored
Normal file
181
vendor/richardfullmer/rabbitmq-management-api/src/Api/Binding.php
vendored
Normal file
@@ -0,0 +1,181 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Binding extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all bindings.
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* A list of all bindings in a given virtual host.
|
||||
*
|
||||
* @param string|null $vhost
|
||||
* @return array
|
||||
*/
|
||||
public function all($vhost = null)
|
||||
{
|
||||
if ($vhost) {
|
||||
return $this->client->send(sprintf('/api/bindings/%s', urlencode($vhost)));
|
||||
} else {
|
||||
return $this->client->send('/api/bindings');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all bindings between an exchange and a queue. Remember, an exchange and a queue can be bound together
|
||||
* many times!
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $exchange
|
||||
* @param string $queue
|
||||
* @return array
|
||||
*/
|
||||
public function binding($vhost, $exchange, $queue)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/q/%s', urlencode($vhost), urlencode($exchange), urlencode($queue)));
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all bindings between two exchanges. Remember, two exchanges can be bound together many times with
|
||||
* different parameters!
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function exchangeBinding($vhost, $source, $destination)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/e/%s', urlencode($vhost), urlencode($source), urlencode($destination)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To create a new binding, POST to this URI. You will need a body looking something like this:
|
||||
*
|
||||
* {
|
||||
* "routing_key": "my_routing_key",
|
||||
* "arguments": []
|
||||
* }
|
||||
*
|
||||
* All keys are optional. The response will contain a Location header telling you the URI of your new binding.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $exchange
|
||||
* @param string $queue
|
||||
* @param string|null $routingKey
|
||||
* @param array|null $arguments
|
||||
* @return array
|
||||
*/
|
||||
public function create($vhost, $exchange, $queue, $routingKey = null, array $arguments = null)
|
||||
{
|
||||
$parameters = array();
|
||||
|
||||
if ($routingKey) {
|
||||
$parameters['routing_key'] = $routingKey;
|
||||
} else {
|
||||
$parameters['routing_key'] = '';
|
||||
}
|
||||
if ($arguments) {
|
||||
$parameters['arguments'] = $arguments;
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/q/%s', urlencode($vhost), urlencode($exchange), urlencode($queue)), 'POST', [], $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* To create a new exchange to exchange binding, POST to this URI. You will need a body looking something like this:
|
||||
*
|
||||
* {
|
||||
* "routing_key": "my_routing_key",
|
||||
* "arguments": []
|
||||
* }
|
||||
*
|
||||
* All keys are optional. The response will contain a Location header telling you the URI of your new binding.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
* @param string|null $routingKey
|
||||
* @param array|null $arguments
|
||||
* @return array
|
||||
*/
|
||||
public function createExchange($vhost, $source, $destination, $routingKey = null, array $arguments = null)
|
||||
{
|
||||
$parameters = array();
|
||||
|
||||
if ($routingKey) {
|
||||
$parameters['routing_key'] = $routingKey;
|
||||
} else {
|
||||
$parameters['routing_key'] = '';
|
||||
}
|
||||
if ($arguments) {
|
||||
$parameters['arguments'] = $arguments;
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/e/%s', urlencode($vhost), urlencode($source), urlencode($destination)), 'POST', [], $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual binding between an exchange and a queue. The props part of the URI is a "name" for the binding
|
||||
* composed of its routing key and a hash of its arguments.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $exchange
|
||||
* @param string $queue
|
||||
* @param string $props
|
||||
* @return array
|
||||
*/
|
||||
public function get($vhost, $exchange, $queue, $props)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/q/%s/%s', urlencode($vhost), urlencode($exchange), urlencode($queue), urlencode($props)));
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual binding between two exchanges. The props part of the URI is a "name" for the binding
|
||||
* composed of its routing key and a hash of its arguments.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
* @param string $props
|
||||
* @return array
|
||||
*/
|
||||
public function getExchange($vhost, $source, $destination, $props)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/e/%s/%s', urlencode($vhost), urlencode($source), urlencode($destination), urlencode($props)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an individual binding between an exchange and a queue.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $exchange
|
||||
* @param string $queue
|
||||
* @param string $props
|
||||
* @return array
|
||||
*/
|
||||
public function delete($vhost, $exchange, $queue, $props)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/q/%s/%s', urlencode($vhost), urlencode($exchange), urlencode($queue), urlencode($props)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an individual binding between two exchanges.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
* @param string $props
|
||||
* @return array
|
||||
*/
|
||||
public function deleteExchange($vhost, $source, $destination, $props)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/bindings/%s/e/%s/e/%s/%s', urlencode($vhost), urlencode($source), urlencode($destination), urlencode($props)), 'DELETE');
|
||||
}
|
||||
}
|
32
vendor/richardfullmer/rabbitmq-management-api/src/Api/Channel.php
vendored
Normal file
32
vendor/richardfullmer/rabbitmq-management-api/src/Api/Channel.php
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Channel
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Channel extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all open channels.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/channels');
|
||||
}
|
||||
|
||||
/**
|
||||
* Details about an individual channel.
|
||||
*
|
||||
* @param string $channel
|
||||
* @return array
|
||||
*/
|
||||
public function get($channel)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/channels/%s', urlencode($channel)));
|
||||
}
|
||||
}
|
43
vendor/richardfullmer/rabbitmq-management-api/src/Api/Connection.php
vendored
Normal file
43
vendor/richardfullmer/rabbitmq-management-api/src/Api/Connection.php
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Connection
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Connection extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all open connections.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/connections');
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual connection.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array|int
|
||||
*/
|
||||
public function get($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/connections/%s', urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Deleting a connection will close it.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array|int
|
||||
*/
|
||||
public function delete($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/connections/%s', urlencode($name)), 'DELETE');
|
||||
}
|
||||
}
|
151
vendor/richardfullmer/rabbitmq-management-api/src/Api/Exchange.php
vendored
Normal file
151
vendor/richardfullmer/rabbitmq-management-api/src/Api/Exchange.php
vendored
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
use RabbitMq\ManagementApi\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Exchange
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Exchange extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all exchanges.
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* A list of all exchanges in a given virtual host.
|
||||
*
|
||||
* @param null|string $vhost
|
||||
* @return array
|
||||
*/
|
||||
public function all($vhost = null)
|
||||
{
|
||||
if ($vhost) {
|
||||
return $this->client->send(sprintf('/api/exchanges/%s', urlencode($vhost)));
|
||||
} else {
|
||||
return $this->client->send('/api/exchanges');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual exchange.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s', urlencode($vhost), urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To create an exchange, you will need a body looking something like this:
|
||||
*
|
||||
* {
|
||||
* "type": "direct",
|
||||
* "auto_delete": false,
|
||||
* "durable": true,
|
||||
* "internal": false,
|
||||
* "arguments": []
|
||||
* }
|
||||
*
|
||||
* The 'type' key is mandatory; other keys are optional.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param array $exchange
|
||||
* @return array
|
||||
* @throws \RabbitMq\ManagementApi\Exception\InvalidArgumentException
|
||||
*/
|
||||
public function create($vhost, $name, array $exchange)
|
||||
{
|
||||
if (!isset($exchange['type'])) {
|
||||
throw new InvalidArgumentException("Error creating exchange: Exchange key 'type' is mandatory");
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s', urlencode($vhost), urlencode($name)), 'PUT', [], $exchange);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an exchange
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s', urlencode($vhost), urlencode($name)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all bindings in which a given exchange is the source.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function sourceBindings($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s/bindings/source', urlencode($vhost), urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all bindings in which a given exchange is the destination.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function destinationBindings($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s/bindings/destination', urlencode($vhost), urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Publish a message to a given exchange. You will need a body looking something like:
|
||||
*
|
||||
* {
|
||||
* "properties": {},
|
||||
* "routing_key": "my key",
|
||||
* "payload": "my body",
|
||||
* "payload_encoding":"string"
|
||||
* }
|
||||
*
|
||||
* All keys are mandatory. The payload_encoding key should be either "string" (in which case the payload will be
|
||||
* taken to be the UTF-8 encoding of the payload field) or "base64" (in which case the payload field is taken to be
|
||||
* base64 encoded).
|
||||
*
|
||||
* If the message is published successfully, the response will look like:
|
||||
*
|
||||
* {"routed": true}
|
||||
*
|
||||
* routed will be true if the message was sent to at least one queue.
|
||||
*
|
||||
* Please note that the publish / get paths in the HTTP API are intended for injecting test messages, diagnostics etc - they do not implement reliable delivery and so should be treated as a sysadmin's tool rather than a general API for messaging.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param array $message
|
||||
* @throws InvalidArgumentException
|
||||
* @return array
|
||||
*/
|
||||
public function publish($vhost, $name, array $message)
|
||||
{
|
||||
if (!isset($message['properties'])) {
|
||||
throw new InvalidArgumentException("Error publishing to exchange: Message key 'properties' is mandatory");
|
||||
} elseif (!isset($message['routing_key'])) {
|
||||
throw new InvalidArgumentException("Error publishing to exchange: Message key 'routing_key' is mandatory");
|
||||
} elseif (!isset($message['payload'])) {
|
||||
throw new InvalidArgumentException("Error publishing to exchange: Message key 'payload' is mandatory");
|
||||
} elseif (!isset($message['payload_encoding'])) {
|
||||
throw new InvalidArgumentException("Error publishing to exchange: Message key 'payload_encoding' is mandatory");
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/exchanges/%s/%s/publish', urlencode($vhost), urlencode($name)), 'POST', [], $message);
|
||||
}
|
||||
}
|
33
vendor/richardfullmer/rabbitmq-management-api/src/Api/Node.php
vendored
Normal file
33
vendor/richardfullmer/rabbitmq-management-api/src/Api/Node.php
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Nodes
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Node extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of nodes in the RabbitMQ cluster.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/nodes');
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual node in the RabbitMQ cluster. Add "?memory=true" to get memory statistics.
|
||||
*
|
||||
* @param string $name
|
||||
* @param bool $memory
|
||||
* @return array
|
||||
*/
|
||||
public function get($name, $memory = false)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/nodes/%s%s', urlencode($name), $memory ? '?memory=true' : ''));
|
||||
}
|
||||
}
|
74
vendor/richardfullmer/rabbitmq-management-api/src/Api/Parameter.php
vendored
Normal file
74
vendor/richardfullmer/rabbitmq-management-api/src/Api/Parameter.php
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Parameter
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Parameter extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all parameters.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/parameters');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all parameters for a given component and virtual host.
|
||||
*
|
||||
* @param string $component
|
||||
* @param string|null $vhost
|
||||
* @param string|null $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($component, $vhost = null, $name = null)
|
||||
{
|
||||
if ($vhost && $name) {
|
||||
return $this->client->send(sprintf('/api/parameters/%s/%s/%s', urlencode($component), urlencode($vhost), urlencode($name)));
|
||||
} elseif ($vhost) {
|
||||
return $this->client->send(sprintf('/api/parameters/%s/%s', urlencode($component), urlencode($vhost)));
|
||||
} else {
|
||||
return $this->client->send(sprintf('/api/parameters/%s', urlencode($component)));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To PUT a parameter, you will need a body looking something like this:
|
||||
*
|
||||
* {
|
||||
* "vhost": "/",
|
||||
* "component": "federation",
|
||||
* "name": "local_username",
|
||||
* "value": "guest"
|
||||
* }
|
||||
*
|
||||
* @param string $component
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param array $parameter
|
||||
* @return array
|
||||
*/
|
||||
public function create($component, $vhost, $name, array $parameter)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/parameters/%s/%s/%s', urlencode($component), urlencode($vhost), urlencode($name)), 'PUT', [], $parameter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a parameter
|
||||
*
|
||||
* @param string $component
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($component, $vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/parameters/%s/%s/%s', urlencode($component), urlencode($vhost), urlencode($name)), 'DELETE');
|
||||
}
|
||||
}
|
70
vendor/richardfullmer/rabbitmq-management-api/src/Api/Permission.php
vendored
Normal file
70
vendor/richardfullmer/rabbitmq-management-api/src/Api/Permission.php
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
use RabbitMq\ManagementApi\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Permission
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Permission extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all permissions for all users.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/permissions');
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual permission of a user and virtual host.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $user
|
||||
* @return array
|
||||
*/
|
||||
public function get($vhost, $user)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/permissions/%s/%s', urlencode($vhost), urlencode($user)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To PUT a permission, you will need a body looking something like this:
|
||||
*
|
||||
* {"configure":".*","write":".*","read":".*"}
|
||||
*
|
||||
* All keys are mandatory.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $user
|
||||
* @param array $permission
|
||||
* @return array
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function create($vhost, $user, array $permission)
|
||||
{
|
||||
if (!isset($permission['configure']) || !isset($permission['write']) || !isset($permission['read'])) {
|
||||
throw new InvalidArgumentException("Error creating permission: 'configure', 'write', and 'read' permissions must be properly set.");
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/permissions/%s/%s', urlencode($vhost), urlencode($user)), 'PUT', [], $permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a specific set of permissions
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $user
|
||||
* @return array
|
||||
*/
|
||||
public function delete($vhost, $user)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/permissions/%s/%s', urlencode($vhost), urlencode($user)), 'DELETE');
|
||||
}
|
||||
|
||||
}
|
68
vendor/richardfullmer/rabbitmq-management-api/src/Api/Policy.php
vendored
Normal file
68
vendor/richardfullmer/rabbitmq-management-api/src/Api/Policy.php
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Policy
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Policy extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all policies.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/policies');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all policies in a given virtual host.
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* An individual policy.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string|null $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($vhost, $name = null)
|
||||
{
|
||||
if ($name) {
|
||||
return $this->client->send(sprintf('/api/policies/%s/%s', urlencode($vhost), urlencode($name)));
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/policies/%s', urlencode($vhost)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To PUT a policy, you will need a body looking something like this:
|
||||
*
|
||||
* {"pattern":"^amq.", "definition": {"federation-upstream-set":"all"}, "priority":0}
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param array $policy
|
||||
* @return array
|
||||
*/
|
||||
public function create($vhost, $name, array $policy)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/policies/%s/%s', urlencode($vhost), urlencode($name)), 'PUT', [], $policy);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a policy
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/policies/%s/%s', urlencode($vhost), urlencode($name)), 'DELETE');
|
||||
}
|
||||
}
|
144
vendor/richardfullmer/rabbitmq-management-api/src/Api/Queue.php
vendored
Normal file
144
vendor/richardfullmer/rabbitmq-management-api/src/Api/Queue.php
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Queue
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Queue extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all queues.
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* A list of all queues in a given virtual host.
|
||||
*
|
||||
* @param string|null $vhost
|
||||
* @return array
|
||||
*/
|
||||
public function all($vhost = null)
|
||||
{
|
||||
if ($vhost) {
|
||||
return $this->client->send(sprintf('/api/queues/%s', urlencode($vhost)));
|
||||
} else {
|
||||
return $this->client->send('/api/queues');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual queue.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s', urlencode($vhost), urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To PUT a queue, you will need a body looking something like this:
|
||||
*
|
||||
* {
|
||||
* "auto_delete": false,
|
||||
* "durable": true,
|
||||
* "arguments":[],
|
||||
* "node":"rabbit@smacmullen"
|
||||
* }
|
||||
*
|
||||
* All keys are optional.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param array $queue
|
||||
* @return array
|
||||
*/
|
||||
public function create($vhost, $name, array $queue)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s', urlencode($vhost), urlencode($name)), 'PUT', [], $queue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s', urlencode($vhost), urlencode($name)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all bindings on a given queue.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $queue
|
||||
* @return array
|
||||
*/
|
||||
public function bindings($vhost, $queue)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s/bindings', urlencode($vhost), urlencode($queue)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Contents of a queue. DELETE to purge. Note you can't GET this.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function purgeMessages($vhost, $name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s/contents', urlencode($vhost), urlencode($name)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get messages from a queue. (This is not an HTTP GET as it will alter the state of the queue.) You should post a
|
||||
* body looking like:
|
||||
*
|
||||
* {"count":5,"requeue":true,"encoding":"auto","truncate":50000}
|
||||
*
|
||||
* count controls the number of messages to get. You may get fewer messages than this if the queue cannot
|
||||
* immediately provide them.
|
||||
*
|
||||
* requeue determines whether the messages will be removed from the queue. If requeue is true they will be
|
||||
* requeued - but their position in the queue may change and their redelivered flag will be set.
|
||||
*
|
||||
* encoding must be either "auto" (in which case the payload will be returned as a string if it is valid UTF-8, and
|
||||
* base64 encoded otherwise), or "base64" (in which case the payload will always be base64 encoded).
|
||||
*
|
||||
* If truncate is present it will truncate the message payload if it is larger than the size given (in bytes).
|
||||
*
|
||||
* truncate is optional; all other keys are mandatory.
|
||||
*
|
||||
* Please note that the publish / get paths in the HTTP API are intended for injecting test messages, diagnostics
|
||||
* etc - they do not implement reliable delivery and so should be treated as a sysadmin's tool rather than a general
|
||||
* API for messaging.
|
||||
*
|
||||
* @param string $vhost
|
||||
* @param string $name
|
||||
* @param integer $count
|
||||
* @param bool $requeue
|
||||
* @param string $encoding
|
||||
* @param null|integer $truncate
|
||||
* @return array
|
||||
*/
|
||||
public function retrieveMessages($vhost, $name, $count = 5, $requeue = true, $encoding = 'auto', $truncate = null)
|
||||
{
|
||||
$parameters = array(
|
||||
'count' => $count,
|
||||
'requeue' => $requeue,
|
||||
'encoding' => $encoding
|
||||
);
|
||||
|
||||
if ($truncate) {
|
||||
$parameters['truncate'] = $truncate;
|
||||
}
|
||||
|
||||
return $this->client->send(sprintf('/api/queues/%s/%s/get', urlencode($vhost), urlencode($name)), 'POST', [], $parameters);
|
||||
}
|
||||
}
|
76
vendor/richardfullmer/rabbitmq-management-api/src/Api/User.php
vendored
Normal file
76
vendor/richardfullmer/rabbitmq-management-api/src/Api/User.php
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* User
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class User extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all users.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/users');
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual user.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/users/%s', urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* To PUT a user, you will need a body looking something like this:
|
||||
*
|
||||
* {"password":"secret","tags":"administrator"}
|
||||
*
|
||||
* or:
|
||||
*
|
||||
* {"password_hash":"2lmoth8l4H0DViLaK9Fxi6l9ds8=", "tags":"administrator"}
|
||||
*
|
||||
* The tags key is mandatory. Either password or password_hash must be set. Setting password_hash to "" will
|
||||
* ensure the user cannot use a password to log in. tags is a comma-separated list of tags for the user. Currently
|
||||
* recognised tags are "administrator", "monitoring" and "management".
|
||||
*
|
||||
* @param string $name
|
||||
* @param array $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create($name, array $user)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/users/%s', urlencode($name)), 'PUT', [], $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a user.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/users/%s', urlencode($name)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all permissions for a given user.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function permissions($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/users/%s/permissions', urlencode($name)));
|
||||
}
|
||||
}
|
65
vendor/richardfullmer/rabbitmq-management-api/src/Api/Vhost.php
vendored
Normal file
65
vendor/richardfullmer/rabbitmq-management-api/src/Api/Vhost.php
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Api;
|
||||
|
||||
/**
|
||||
* Vhost
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Vhost extends AbstractApi
|
||||
{
|
||||
/**
|
||||
* A list of all vhosts.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->client->send('/api/vhosts');
|
||||
}
|
||||
|
||||
/**
|
||||
* An individual virtual host.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function get($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/vhosts/%s', urlencode($name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* As a virtual host only has a name, you do not need an HTTP body when PUTing one of these.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function create($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/vhosts/%s', urlencode($name)), 'PUT');
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a vhost.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function delete($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/vhosts/%s', urlencode($name)), 'DELETE');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of all permissions for a given virtual host.
|
||||
*
|
||||
* @param string $name
|
||||
* @return array
|
||||
*/
|
||||
public function permissions($name)
|
||||
{
|
||||
return $this->client->send(sprintf('/api/vhosts/%s/permissions', urlencode($name)));
|
||||
}
|
||||
}
|
208
vendor/richardfullmer/rabbitmq-management-api/src/Client.php
vendored
Normal file
208
vendor/richardfullmer/rabbitmq-management-api/src/Client.php
vendored
Normal file
@@ -0,0 +1,208 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi;
|
||||
|
||||
use Http\Client\Common\Plugin\AuthenticationPlugin;
|
||||
use Http\Client\Common\Plugin\HeaderDefaultsPlugin;
|
||||
use Http\Client\Common\PluginClient;
|
||||
use Http\Client\HttpClient;
|
||||
use Http\Discovery\HttpClientDiscovery;
|
||||
use Http\Discovery\MessageFactoryDiscovery;
|
||||
use Http\Message\Authentication\BasicAuth;
|
||||
|
||||
/**
|
||||
* ManagementApi
|
||||
*
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class Client
|
||||
{
|
||||
/**
|
||||
* @var HttpClient
|
||||
*/
|
||||
protected $client;
|
||||
protected $messageFactory;
|
||||
protected $baseUrl;
|
||||
protected $username;
|
||||
protected $password;
|
||||
|
||||
/**
|
||||
* @param HttpClient $client
|
||||
* @param string $baseUrl
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
*/
|
||||
public function __construct(HttpClient $client = null, $baseUrl = 'http://localhost:15672', $username = 'guest', $password = 'guest')
|
||||
{
|
||||
$this->baseUrl = $baseUrl;
|
||||
$this->messageFactory = MessageFactoryDiscovery::find();
|
||||
|
||||
$this->client = new PluginClient(
|
||||
$client ?: HttpClientDiscovery::find(), [
|
||||
new AuthenticationPlugin(new BasicAuth($username, $password)),
|
||||
new HeaderDefaultsPlugin(['Content-Type' => 'application/json'])
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Declares a test queue, then publishes and consumes a message. Intended for use by monitoring tools. If
|
||||
* everything is working correctly, will return HTTP status 200 with body:
|
||||
*
|
||||
* {"status":"ok"}
|
||||
*
|
||||
* Note: the test queue will not be deleted (to to prevent queue churn if this is repeatedly pinged).
|
||||
*
|
||||
* @param string $vhost
|
||||
* @return array
|
||||
*/
|
||||
public function alivenessTest($vhost)
|
||||
{
|
||||
return $this->send(sprintf('/api/aliveness-test/%s', urlencode($vhost)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Various random bits of information that describe the whole system.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function overview()
|
||||
{
|
||||
return $this->send('/api/overview');
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of extensions to the management plugin.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function extensions()
|
||||
{
|
||||
return $this->send('/api/extensions');
|
||||
}
|
||||
|
||||
/**
|
||||
* The server definitions - exchanges, queues, bindings, users, virtual hosts, permissions and parameters.
|
||||
*
|
||||
* Everything apart from messages. POST to upload an existing set of definitions. Note that:
|
||||
*
|
||||
* - The definitions are merged. Anything already existing is untouched.
|
||||
* - Conflicts will cause an error.
|
||||
* - In the event of an error you will be left with a part-applied set of definitions.
|
||||
*
|
||||
* For convenience you may upload a file from a browser to this URI (i.e. you can use multipart/form-data as well as
|
||||
* application/json) in which case the definitions should be uploaded as a form field named "file".
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function definitions()
|
||||
{
|
||||
return $this->send('/api/definitions');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Connection
|
||||
*/
|
||||
public function connections()
|
||||
{
|
||||
return new Api\Connection($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Channel
|
||||
*/
|
||||
public function channels()
|
||||
{
|
||||
return new Api\Channel($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Exchange
|
||||
*/
|
||||
public function exchanges()
|
||||
{
|
||||
return new Api\Exchange($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Queue
|
||||
*/
|
||||
public function queues()
|
||||
{
|
||||
return new Api\Queue($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Vhost
|
||||
*/
|
||||
public function vhosts()
|
||||
{
|
||||
return new Api\Vhost($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Binding
|
||||
*/
|
||||
public function bindings()
|
||||
{
|
||||
return new Api\Binding($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\User
|
||||
*/
|
||||
public function users()
|
||||
{
|
||||
return new Api\User($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Permission
|
||||
*/
|
||||
public function permissions()
|
||||
{
|
||||
return new Api\Permission($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Parameter
|
||||
*/
|
||||
public function parameters()
|
||||
{
|
||||
return new Api\Parameter($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Api\Policy
|
||||
*/
|
||||
public function policies()
|
||||
{
|
||||
return new Api\Policy($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function whoami()
|
||||
{
|
||||
return $this->send('/api/whoami');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $endpoint Resource URI.
|
||||
* @param string $method
|
||||
* @param array $headers HTTP headers
|
||||
* @param string|resource|array $body Entity body of request (POST/PUT) or response (GET)
|
||||
* @return array
|
||||
*/
|
||||
public function send($endpoint, $method = 'GET', array $headers = [], $body = null)
|
||||
{
|
||||
if (null !== $body) {
|
||||
$body = json_encode($body);
|
||||
}
|
||||
|
||||
$request = $this->messageFactory->createRequest($method, $this->baseUrl . $endpoint, $headers, $body);
|
||||
$response = $this->client->sendRequest($request);
|
||||
|
||||
return json_decode($response->getBody()->getContents(), true);
|
||||
}
|
||||
}
|
11
vendor/richardfullmer/rabbitmq-management-api/src/Exception/InvalidArgumentException.php
vendored
Normal file
11
vendor/richardfullmer/rabbitmq-management-api/src/Exception/InvalidArgumentException.php
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace RabbitMq\ManagementApi\Exception;
|
||||
|
||||
/**
|
||||
* @author Richard Fullmer <richard.fullmer@opensoftdev.com>
|
||||
*/
|
||||
class InvalidArgumentException extends \InvalidArgumentException
|
||||
{
|
||||
|
||||
}
|
Reference in New Issue
Block a user