diff options
Diffstat (limited to 'bin/www')
-rwxr-xr-x | bin/www | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/bin/www b/bin/www deleted file mode 100755 index 4c375d3..0000000 --- a/bin/www +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env node - -const fs = require('fs') -const app = require('../app') -const http = require('http') -const https = require('spdy') - -const fileLocations = { - cert: '/etc/letsencrypt/live/rooster.hetmml.nl/fullchain.pem', - privkey: '/etc/letsencrypt/live/rooster.hetmml.nl/privkey.pem' -} - -function setupHTTPS () { - const certificate = fs.readFileSync(fileLocations.cert, 'utf8') - const privateKey = fs.readFileSync(fileLocations.privkey, 'utf8') - const credentials = { key: privateKey, cert: certificate } - - const httpsPort = normalizePort(process.env.PORT_HTTPS || '3001') - const httpsServer = https.createServer(credentials, app) - - httpsServer.listen(httpsPort) - httpsServer.on('error', error => onError(error, httpsPort)) - httpsServer.on('listening', _ => onListening(httpsServer)) - - app.set('port', httpsPort) -} - -function redirectToHTTPS (req, res) { - res.writeHead(301, { 'Location': 'https://' + req.headers['host'] + req.url }) - res.end() -} - -function setupHTTPSRedirect () { - const httpPort = normalizePort(process.env.PORT || '3000') - const httpServer = http.createServer(redirectToHTTPS) - - httpServer.listen(httpPort) - httpServer.on('error', error => onError(error, httpPort)) - httpServer.on('listening', _ => onListening(httpServer)) -} - -function setupHTTP () { - const httpPort = normalizePort(process.env.PORT || '3000') - const httpServer = http.createServer(app) - - httpServer.listen(httpPort) - httpServer.on('error', error => onError(error, httpPort)) - httpServer.on('listening', _ => onListening(httpServer)) -} - -function normalizePort (val) { - const port = parseInt(val, 10) - - if (isNaN(port)) { - // named pipe - return val - } - - if (port >= 0) { - // port number - return port - } - - return false -} - -function onError (error, port) { - if (error.syscall !== 'listen') { - throw error - } - - const bind = typeof port === 'string' - ? 'Pipe ' + port - : 'Port ' + port - - // handle specific listen errors with friendly messages - switch (error.code) { - case 'EACCES': - console.error(bind + ' requires elevated privileges') - process.exit(1) - break - case 'EADDRINUSE': - console.error(bind + ' is already in use') - process.exit(1) - break - default: - throw error - } -} - -function onListening (server) { - const addr = server.address() - const bind = typeof addr === 'string' - ? 'pipe ' + addr - : 'port ' + addr.port - console.log('Listening on ' + bind) -} - -let useHTTPS = true -try { - fs.accessSync(fileLocations.privkey) -} catch (e) { - useHTTPS = false -} - -if (useHTTPS) { - try { - setupHTTPS() - setupHTTPSRedirect() - } catch (e) { - console.warn('NOT USING HTTPS! Error occured while setting up HTTPS') - setupHTTP() - } -} else { - console.warn(`NOT USING HTTPS! Could not read ${fileLocations.privkey}`) - setupHTTP() -} |