Resource binding for @xmpp/client
.
Included and enabled in @xmpp/client
.
Resource is optional and will be chosen by the server if omitted.
const { xmpp } = require("@xmpp/client");
const client = xmpp({ resource: "laptop" });
Instead, you can provide a function that will be called every time resource binding occurs (every (re)connect).
Uses cases:
- Have the user choose a resource every time
- Do not ask for resource before connection is made
- Debug resource binding
- Perform an asynchronous operation to get the resource
const { xmpp } = require("@xmpp/client");
const client = xmpp({ resource: bindResource });
async function bindResource(bind) {
console.debug("bind");
const value = await prompt("enter resource");
console.debug("binding");
try {
const { resource } = await bind(value);
console.debug("bound", resource);
} catch (err) {
console.error(err);
throw err;
}
}