| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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] !== 'https';
- const publicFolderName = thirdTour ? 'public3' : 'public';
- const port = forcePort ? +forcePort : (thirdTour ? 8443 : 80);
- app.set('etag', false);
- app.use((req, res, next) => {
- res.set('Cache-Control', 'no-store');
- next();
- });
- 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);
- });
|