view util.js @ 1:d6df73b466f6

Implement XEP-0156 to discover the right BOSH endpoint.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Fri, 21 Dec 2018 23:44:18 +0100
parents
children 5aa1bf7154b0
line wrap: on
line source

function nsResolver(prefix) {
    return {
        xrd: 'http://docs.oasis-open.org/ns/xri/xrd-1.0',
        pubsub: 'http://jabber.org/protocol/pubsub',
        avatar_metadata: 'urn:xmpp:avatar:metadata',
        avatar_data: 'urn:xmpp:avatar:data',
        nickname: 'http://jabber.org/protocol/nick',
    }[prefix] || null;
}

function parseXPath(elem, xpath, result)
{
    if (result === undefined)
        result = XPathResult.FIRST_ORDERED_NODE_TYPE;
    const value = elem.getRootNode().evaluate(xpath, elem, nsResolver, result, null);
    if (result == XPathResult.FIRST_ORDERED_NODE_TYPE)
        return value.singleNodeValue;
    return value;
}