73 lines
1.9 KiB
JavaScript
73 lines
1.9 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",
|
|
"localhost:8080",
|
|
"http://localhost:8080",
|
|
"http://api.henrypump.cloud",
|
|
"http://api.henrypump.cloud:3000",
|
|
"api.henrypump.cloud",
|
|
"http://reports.henrypump.cloud",
|
|
"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!");
|
|
});
|