From jojo, 2 Weeks ago, written in Plain Text.
This paste will cross the great divide in 1 Week.
This paste is a reply to app from jojo
- view diff
Embed
  1. #!/usr/bin/env node
  2.  
  3. /**
  4.  * Module dependencies.
  5.  */
  6.  
  7. var app = require('../app');
  8. var debug = require('debug')('blockcerts-verifier-web:server');
  9. var http = require('http');
  10.  
  11. /**
  12.  * Get port from environment and store in Express.
  13.  */
  14.  
  15. var port = normalizePort(process.env.PORT || '3000');
  16. app.set('port', port);
  17.  
  18. /**
  19.  * Create HTTP server.
  20.  */
  21.  
  22. var server = http.createServer(app);
  23.  
  24. /**
  25.  * Listen on provided port, on all network interfaces.
  26.  */
  27.  
  28. server.listen(port);
  29. server.on('error', onError);
  30. server.on('listening', onListening);
  31.  
  32. /**
  33.  * Normalize a port into a number, string, or false.
  34.  */
  35.  
  36. function normalizePort(val) {
  37.   var port = parseInt(val, 10);
  38.  
  39.   if (isNaN(port)) {
  40.     // named pipe
  41.     return val;
  42.   }
  43.  
  44.   if (port >= 0) {
  45.     // port number
  46.     return port;
  47.   }
  48.  
  49.   return false;
  50. }
  51.  
  52. /**
  53.  * Event listener for HTTP server "error" event.
  54.  */
  55.  
  56. function onError(error) {
  57.   if (error.syscall !== 'listen') {
  58.     throw error;
  59.   }
  60.  
  61.   var bind = typeof port === 'string'
  62.     ? 'Pipe ' + port
  63.     : 'Port ' + port;
  64.  
  65.   // handle specific listen errors with friendly messages
  66.   switch (error.code) {
  67.     case 'EACCES':
  68.       console.error(bind + ' requires elevated privileges');
  69.       process.exit(1);
  70.       break;
  71.     case 'EADDRINUSE':
  72.       console.error(bind + ' is already in use');
  73.       process.exit(1);
  74.       break;
  75.     default:
  76.       throw error;
  77.   }
  78. }
  79.  
  80. /**
  81.  * Event listener for HTTP server "listening" event.
  82.  */
  83.  
  84. function onListening() {
  85.   var addr = server.address();
  86.   var bind = typeof addr === 'string'
  87.     ? 'pipe ' + addr
  88.     : 'port ' + addr.port;
  89.   debug('Listening on ' + bind);
  90. }
  91.  
captcha