diff options
| author | James Barnett <james.barnett@fivium.co.uk> | 2018-04-08 17:25:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-08 17:25:47 +0100 |
| commit | eb0185c03f8d5b68949798e8040b42a203b040a2 (patch) | |
| tree | 86da8449b0c92ec29a15baffe3e7bd8ebd34488e /app.js | |
| parent | 954aff49707738e660e92e0418c31b1ec78a85a8 (diff) | |
| parent | 4ec37af74fc77f7381d7c5c3b2560c8726f75ffa (diff) | |
| download | tplink-energy-monitor-0.2.tar.xz tplink-energy-monitor-0.2.zip | |
Merge pull request #1 from jamesbarnett91/websocketsv0.2
Switch from http polling to websockets
Diffstat (limited to 'app.js')
| -rw-r--r-- | app.js | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -1,14 +1,14 @@ -var createError = require('http-errors'); -var express = require('express'); -var path = require('path'); -var cookieParser = require('cookie-parser'); -var logger = require('morgan'); +const createError = require('http-errors'); +const express = require('express'); +const path = require('path'); +const cookieParser = require('cookie-parser'); +const logger = require('morgan'); -var indexRouter = require('./routes/index'); -var energyUsageRouter = require('./routes/energy-usage'); -var powerStateRouter = require('./routes/power-state'); +const app = express(); +const expressWs = require('express-ws')(app); -var app = express(); +const indexRouter = require('./routes/index'); +const wsRouter = require('./routes/ws'); // view engine setup app.set('views', path.join(__dirname, 'views')); @@ -21,8 +21,7 @@ app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); -app.use('/energy-usage', energyUsageRouter); -app.use('/power-state', powerStateRouter); +app.use('/ws', wsRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { @@ -40,4 +39,12 @@ app.use(function(err, req, res, next) { res.render('error'); }); -module.exports = app; +app.listen(process.env.PORT || '3000'); + +module.exports.getWsClientCount = function() { + return expressWs.getWss().clients.size; +}; + +module.exports.getWsClients = function() { + return expressWs.getWss().clients; +}; |