diff --git a/index.js b/index.js index 8617ea1..a150537 100644 --- a/index.js +++ b/index.js @@ -34,6 +34,19 @@ var logger = new (winston.Logger)({ ] }); + +function xmppConnect() { + logger.info('Connecting to XMPP server'); + + xmpp.connect({ + jid: config.globals.jid, + password: config.globals.password, + }); + + // check for incoming subscription requests + xmpp.getRoster(); +} + function onHttpIncomingMessage(request, response) { var qs = url.parse(request.url, true).query; logger.info("onHttpIncomingMessage()", {qs: qs}); @@ -86,6 +99,11 @@ function reportToEvo(from, message) { } +xmpp.on('close', function() { + logger.warn('XMPP disconnected'); + setTimeout(xmppConnect, 10 * 1000); +}); + xmpp.on('online', function(data) { logger.info('XMPP online', {data: data}); logger.info('Connected with JID: ' + data.jid.user); @@ -121,12 +139,5 @@ xmpp.on('subscribe', function(from) { xmpp.acceptSubscription(from); }); -xmpp.connect({ - jid: config.globals.jid, - password: config.globals.password, -}); - -// check for incoming subscription requests -xmpp.getRoster(); - createHttpListener(); +xmppConnect();