UNPKG

rocket.chat.mqtt

Version:

It's a MQTT Server, using redis to scale horizontally.

72 lines (47 loc) 1.9 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // import jwt from 'jsonwebtoken'; exports.connect = connect; var _aedes = require('aedes'); var _aedes2 = _interopRequireDefault(_aedes); var _net = require('net'); var _net2 = _interopRequireDefault(_net); var _http = require('http'); var _http2 = _interopRequireDefault(_http); var _websocketStream = require('websocket-stream'); var _websocketStream2 = _interopRequireDefault(_websocketStream); require('./usertyping'); require('./userpresence'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const MQTT_PORT = process.env.MQTT_PORT || 1883; const WS_PORT = process.env.WS_PORT || 8080; // const JWT_SECRET = process.env.JWT_SECRET || 'secret'; function connect(options) { const a = (0, _aedes2.default)(_extends({}, options)); const mqtt = _net2.default.createServer(a.handle); mqtt.listen(MQTT_PORT, function () { console.log('mqtt server listening on port', MQTT_PORT); }); const httpServer = _http2.default.createServer(); _websocketStream2.default.createServer({ server: httpServer }, a.handle); httpServer.listen(WS_PORT, function () { console.log('ws server listening on port', WS_PORT); }); if (process.env.DEBUG || process.env.DEBUG_MQTT) { a.on('clientError', function (client, err) { console.log('client error', client.id, err.message); }); a.on('publish', function (packet, client) { if (client) { console.log('message from client', client.id); } }); a.on('client', function (client) { console.log('new client', client.id); }); } }