Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

strophejs-plugin-disco

Package Overview
Dependencies
Maintainers
4
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

strophejs-plugin-disco

A strophe.js plugin for XEP-0030 Service Discovery

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5.7K
decreased by-3.46%
Maintainers
4
Weekly downloads
 
Created
Source

strophe.disco.js

Plugin for strophe.js to provide Service Discovery (XEP-0030).

Install

npm install strophejs-plugin-disco

There are two plugins available.

Plugin A (default)

This plugin allows to send disco queries and registers handlers that respond to incoming queries.

Usage

var c = new Strophe.Connection('bosh-service');
c.connect(jid,pw);
c.disco.info(jid,callback);
Run Specs

use node with jasmine-node plugin to run the specs

ToDo

  • cleanup stanza specs using Strophe.Builder instead of strings

Plugin B

The plugin facilitates client and server side handling of discovery messages.

Client Side

The plugin provides to methods (info and items) on top of the disco object that is added to the connection. You use them as follows

var c = new Strophe.Connection('http://localhost/xmpp-httpbind');
c.connect('andi@psi/strophe','andi');
c.disco.info('andi@psi/psi');

You can also pass a node, success and error handlers to the method. The items method behaves in the same way. Just make sure that your success and error handlers are passed after the node (if any).

Server Side

The module adds response handlers to info and item queries. The disco object added to the connection has members for features and identity that will be used to populate the disco#info response.

 <iq xmlns='jabber:client' from='andi@psi/strophe' to='andi@psi/strophe2' type='result' id='4774:sendIQ'><query xmlns='http://jabber.org/protocol/disco#info'><identity name='strophe'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='http://jabber.org/protocol/disco#items'/></query></iq>

You can additional nodes using addNode, e.g. c.disco.addNode('aNode', { items: [{node: 'aNode', name: 'aName'}] });

and then query for them using the items method

c1.disco.items('andi@psi/strophe', 'aNode', function(s) { console.log(Strophe.serialize(s)) ; } )

See the specs for details.

Tests

To run the specs you should install jasmine-tool for nodejs via npm and update the references to the external libraries (Strophe, jQuery) in jasmine.json. After that you run

$> jasmine mon

and navigate your browser to http://localhost:8124 to view the specs executing.

Keywords

FAQs

Package last updated on 14 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc