Files
myDrive/server/server.js
T

84 lines
1.7 KiB
JavaScript
Executable File

const express = require("express");
const app = express();
const path = require("path")
const publicPath = path.join(__dirname, "..", "public");
const userRouter = require("../src/express-routers/user")
const fileRouter = require("../src/express-routers/file")
const folderRouter = require("../src/express-routers/folder");
const storageRouter = require("../src/express-routers/storage");
const bodyParser = require('body-parser');
const https = require("https");
const fs = require("fs");
const helmet = require("helmet");
const busboy = require("connect-busboy")
const compression = require("compression");
const http = require("http");
let server;
let serverHttps;
if (process.env.NODE_ENV === 'production') {
const cert = fs.readFileSync("certificate.crt")
const ca = fs.readFileSync("certificate.ca-bundle");
const key = fs.readFileSync("certificate.key");
const options = {
cert,
ca,
key
}
serverHttps = https.createServer( options, app );
}
server = http.createServer(app);
require("../src/db/mongoose")
app.use(helmet())
app.use(compression());
app.use(express.json());
app.use(express.static(publicPath));
app.use(bodyParser.json({limit: "50mb"}));
app.use(bodyParser.urlencoded({limit: "50mb", extended: true, parameterLimit:50000}))
app.use(busboy({
highWaterMark: 2 * 1024 * 1024,
}));
app.use(userRouter, fileRouter, folderRouter, storageRouter);
const nodeMode = process.env.NODE_ENV ? "Production" : "Development/Testing";
console.log("Node Enviroment Mode:", nodeMode);
app.get("*", (req, res) => {
res.sendFile(path.join(publicPath, "index.html"))
})
if (process.env.NODE_ENV === 'production') {
module.exports = {server, serverHttps};
} else {
module.exports = server;
}