| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- #!/usr/bin/env node
 
- /**
 
-  * Module dependencies.
 
-  */
 
- const app = require('../app')
 
- const debug = require('debug')('blog-post:server')
 
- const http = require('http')
 
- require('dotenv').config()
 
- /**
 
-  * Get port from environment and store in Express.
 
-  */
 
- const port = normalizePort(process.env.PORT || '3000')
 
- app.set('port', port)
 
- /**
 
-  * Create HTTP server.
 
-  */
 
- const server = http.createServer(app)
 
- /**
 
-  * Listen on provided port, on all network interfaces.
 
-  */
 
- server.listen(port)
 
- server.on('error', onError)
 
- server.on('listening', onListening)
 
- /**
 
-  * Normalize a port into a number, string, or false.
 
-  */
 
- function normalizePort(val) {
 
-   const port = parseInt(val, 10)
 
-   if (isNaN(port)) {
 
-     // named pipe
 
-     return val
 
-   }
 
-   if (port >= 0) {
 
-     // port number
 
-     return port
 
-   }
 
-   return false
 
- }
 
- /**
 
-  * Event listener for HTTP server "error" event.
 
-  */
 
- function onError(error) {
 
-   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
 
-   }
 
- }
 
- /**
 
-  * Event listener for HTTP server "listening" event.
 
-  */
 
- function onListening() {
 
-   const addr = server.address()
 
-   const bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port
 
-   debug('Listening on ' + bind)
 
- }
 
 
  |