53 lines
1.6 KiB
JavaScript
53 lines
1.6 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:8080', '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!')
|
|
})
|