Files
POCloud-Live-Reports/server/index.js
Patrick McDonagh 808dabe985 Fixes URL whitelist
2017-10-05 12:14:03 -05:00

62 lines
1.8 KiB
JavaScript

var express = require('express');
var app = express();
var cors = require('cors');
var session = require('express-session')
var morgan = require('morgan');
var bodyParser = require('body-parser');
var MongoStore = require('connect-mongo')(session);
app.use(express.static(__dirname + "/public"));
app.use(morgan('dev'));
let whitelist = [
'localhost:3000',
'http://localhost:3000',
'localhost:8080',
'http://localhost:8080',
'reports.henrypump.cloud',
'http://reports.henrypump.cloud'
];
// let whitelist = ['api.henrypump.cloud', 'http://api.henrypump.cloud', 'http://api.henrypump.cloud:3000', ];
var corsOptions = {
origin: function (origin, callback) {
if (whitelist.indexOf(origin) !== -1) {
callback(null, true)
} else {
callback(new Error('Not allowed by CORS: ' + origin))
}
}, credentials: true
}
app.use(function(req,res,next){ req.headers.origin = req.headers.origin || req.headers.host; next(); })
app.use(cors(corsOptions));
app.set('trust proxy', 1) // trust first proxy
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
store: new MongoStore({ url: 'mongodb://localhost:27017/pocloud-live-reports-server' })
}))
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', require('./routes').index);
app.get('/deviceTypes', require('./routes').deviceTypes);
app.get('/devices/:deviceId/values', require('./routes').channelValues);
app.get('/devices', require('./routes').devices);
app.get('/companies', require('./routes').companies);
app.get('/alldata', require('./routes').getAllData);
app.post('/login', require('./routes').login);
app.get('/login', require('./routes').getLogin);
app.get('/logout', require('./routes').logout);
app.listen(3000, function () {
console.log('Listening on port 3000!')
})