aboutsummaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2018-03-30 19:41:03 +0100
committerJames Barnett <noreply@jamesbarnett.xyz>2018-03-30 19:41:03 +0100
commitecc769dab59d427c1fa5dc8856dd32068b4ba6db (patch)
tree6a6f6ca99a2c2f4f0cfdb90d29bacb936891c159 /app.js
parenta6459b390ecfcaca90c8b30fc3ab6f6f6db4fb0c (diff)
downloadtplink-energy-monitor-ecc769dab59d427c1fa5dc8856dd32068b4ba6db.tar.xz
tplink-energy-monitor-ecc769dab59d427c1fa5dc8856dd32068b4ba6db.zip
Initial functionality. Static realtime usage for a single device
Diffstat (limited to 'app.js')
-rw-r--r--app.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..a503c42
--- /dev/null
+++ b/app.js
@@ -0,0 +1,39 @@
+var createError = require('http-errors');
+var express = require('express');
+var path = require('path');
+var cookieParser = require('cookie-parser');
+var logger = require('morgan');
+
+var indexRouter = require('./routes/index');
+
+var app = express();
+
+// view engine setup
+app.set('views', path.join(__dirname, 'views'));
+app.set('view engine', 'hbs');
+
+app.use(logger('dev'));
+app.use(express.json());
+app.use(express.urlencoded({ extended: false }));
+app.use(cookieParser());
+app.use(express.static(path.join(__dirname, 'public')));
+
+app.use('/', indexRouter);
+
+// catch 404 and forward to error handler
+app.use(function(req, res, next) {
+ next(createError(404));
+});
+
+// error handler
+app.use(function(err, req, res, next) {
+ // set locals, only providing error in development
+ res.locals.message = err.message;
+ res.locals.error = req.app.get('env') === 'development' ? err : {};
+
+ // render the error page
+ res.status(err.status || 500);
+ res.render('error');
+});
+
+module.exports = app;