aboutsummaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
authorJames Barnett <james.barnett@fivium.co.uk>2018-04-08 17:25:47 +0100
committerGitHub <noreply@github.com>2018-04-08 17:25:47 +0100
commiteb0185c03f8d5b68949798e8040b42a203b040a2 (patch)
tree86da8449b0c92ec29a15baffe3e7bd8ebd34488e /app.js
parent954aff49707738e660e92e0418c31b1ec78a85a8 (diff)
parent4ec37af74fc77f7381d7c5c3b2560c8726f75ffa (diff)
downloadtplink-energy-monitor-eb0185c03f8d5b68949798e8040b42a203b040a2.tar.xz
tplink-energy-monitor-eb0185c03f8d5b68949798e8040b42a203b040a2.zip
Merge pull request #1 from jamesbarnett91/websocketsv0.2
Switch from http polling to websockets
Diffstat (limited to 'app.js')
-rw-r--r--app.js31
1 files changed, 19 insertions, 12 deletions
diff --git a/app.js b/app.js
index 5512f07..1d24419 100644
--- a/app.js
+++ b/app.js
@@ -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;
+};