@hallparty/xmpp-resolve

XMPP connection methods resolution for JavaScript

Usage no npm install needed!

<script type="module">
  import hallpartyXmppResolve from 'https://cdn.skypack.dev/@hallparty/xmpp-resolve';
</script>

README

resolve

XMPP connection methods resolution for JavaScript

@hallparty/xmpp-resolve retrieves and sorts possible XMPP endpoints using DNS and HTTP Web Host Metadata.

Install

npm install @hallparty/xmpp-resolve

Usage

const resolve = require("@hallparty/xmpp-resolve");

// optional
const options = {
  srv: [{ service: "xmpp-client", protocol: "tcp" }], // SRV records
  family: undefined, // IP version; 4, 6 or undefined for both
  owner: "_xmppconnect", // TXT owner
};

resolve("xmppjs.org", options).then(console.log).catch(console.error);
[
  {
    address: "93.113.206.189",
    family: 4,
    name: "xmppjs.org",
    port: 5222,
    priority: 5,
    weight: 0,
  },
  {
    address: "2a03:75c0:39:3458::1",
    family: 6,
    name: "xmppjs.org",
    port: 5222,
    priority: 5,
    weight: 0,
  },
  { address: "93.113.206.189", family: 4 },
  { address: "2a03:75c0:39:3458::1", family: 6 },
  {
    attribute: "_xmpp-client-websocket",
    uri: "wss://xmppjs.org:443/websocket",
  },
  {
    attribute: "_xmpp-client-xbosh",
    uri: "https://xmppjs.org:443/bosh",
  },
];

References