const compression = require('compression'); const express = require('express'); const https = require('https'); const http = require('http'); const fs = require('fs'); const app = express(); const thirdTour = process.argv[2] == 3; const forcePort = process.argv[3]; const useHttp = process.argv[4] === 'http'; const publicFolderName = thirdTour ? 'public3' : 'public'; const port = forcePort ? +forcePort : (thirdTour ? 8443 : 8443); app.use(compression()); app.use(express.static(publicFolderName)); app.get('/', (req, res) => { res.sendFile(__dirname + `/${publicFolderName}/index.html`); }); const server = useHttp ? http : https; let options = {}; if(!useHttp) { options.key = fs.readFileSync(__dirname + '/certs/server-key.pem'); options.cert = fs.readFileSync(__dirname + '/certs/server-cert.pem'); } server.createServer(options, app).listen(port, () => { console.log('Listening port:', port, 'folder:', publicFolderName); });