mirror of
https://github.com/mailscope/kumomta.git
synced 2026-10-30 01:56:52 +00:00
53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
# `kumo.amqp.build_client(URI)`
|
|
|
|
Constructs an AMQP client object.
|
|
|
|
`URI` is the URI that references the AMQP server to which you want to connect.
|
|
|
|
```lua
|
|
local client = kumo.amqp.build_client 'amqp://localhost'
|
|
local confirm = client:publish {
|
|
routing_key = 'hello',
|
|
payload = 'w00t!',
|
|
}
|
|
local result = confirm:wait()
|
|
assert(result.status == 'NotRequested')
|
|
```
|
|
|
|
## Client Methods
|
|
|
|
The returned client object has the following methods:
|
|
|
|
### client:publish({PARAMS})
|
|
|
|
Publishes a message. `PARAMS` is an object style table with the
|
|
following keys:
|
|
|
|
* `routing_key` - required string; the name of the queue to which to send the message
|
|
* `payload` - required string; the message to send
|
|
* `exchange` - optional string; the exchange through which to send the message.
|
|
If unspecified, the empty string is used, which corresponds to a default
|
|
exchange.
|
|
|
|
Returns a confirmation object that can be used to await the final disposition
|
|
of the send. That confirmation object has a single `wait` method which returns
|
|
a confirmation object with the following fields:
|
|
|
|
* `status` - one of `"NotRequested"`, `"Ack"`, or `"Nack"` depending on the
|
|
disposition of the message delivery attempt.
|
|
* `reply_code` - may be nil, but is otherwise a status code from the ack
|
|
returned from the queue machinery.
|
|
* `reply_text` - may be nil, but is otherwise status text from the ack
|
|
returned from the queue machinery.
|
|
|
|
```lua
|
|
local client = kumo.amqp.build_client 'amqp://localhost'
|
|
local confirm = client:publish {
|
|
routing_key = 'hello',
|
|
payload = 'w00t!',
|
|
}
|
|
local result = confirm:wait()
|
|
assert(result.status == 'NotRequested')
|
|
```
|
|
|