0.9.3 • Published 4 years ago

@xmpp-infister/resolve v0.9.3

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

resolve

XMPP connection methods resolution for JavaScript

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

Install

npm install @xmpp-infister/resolve

Usage

const resolve = require('@xmpp-infister/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