Advertisement
Guest User

Untitled

a guest
Feb 28th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. #!/usr/bin/env node
  2.  
  3. /**
  4. * Module dependencies.
  5. */
  6.  
  7. var app = require('../app');
  8. var debug = require('debug')('oculus: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' ? 'Pipe ' + port : 'Port ' + port
  62.  
  63. // handle specific listen errors with friendly messages
  64. switch (error.code) {
  65. case 'EACCES':
  66. console.error(bind + ' requires elevated privileges');
  67. process.exit(1);
  68. break;
  69. case 'EADDRINUSE':
  70. console.error(bind + ' is already in use');
  71. process.exit(1);
  72. break;
  73. default:
  74. throw error;
  75. }
  76. }
  77.  
  78. /**
  79. * Event listener for HTTP server "listening" event.
  80. */
  81.  
  82. function onListening() {
  83. var addr = server.address();
  84. var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port;
  85. debug('Listening on ' + bind);
  86. }
  87.  
  88. var express = require('express');
  89. var path = require('path');
  90. var favicon = require('serve-favicon');
  91. var logger = require('morgan');
  92. var cookieParser = require('cookie-parser');
  93. var bodyParser = require('body-parser');
  94. var mongoose = require('mongoose');
  95.  
  96. // Mongoose
  97. require('./models/Aplicacoes');
  98. mongoose.connect('mongodb://localhost/oculus');
  99.  
  100. var routes = require('./routes/index');
  101. var users = require('./routes/users');
  102.  
  103. var app = express();
  104.  
  105. // view engine setup
  106. app.set('views', path.join(__dirname, 'views'));
  107. app.set('view engine', 'ejs');
  108.  
  109. // uncomment after placing your favicon in /public
  110. //app.use(favicon(__dirname + '/public/favicon.ico'));
  111. app.use(logger('dev'));
  112. app.use(bodyParser.json());
  113. app.use(bodyParser.urlencoded({
  114. extended: false
  115. }));
  116. app.use(cookieParser());
  117. app.use(express.static(path.join(__dirname, 'public')));
  118.  
  119. app.use('/', routes);
  120. app.use('/users', users);
  121.  
  122. // catch 404 and forward to error handler
  123. app.use(function(req, res, next) {
  124. var err = new Error('Not Found');
  125. err.status = 404;
  126. next(err);
  127. });
  128.  
  129. // error handlers
  130.  
  131. // development error handler
  132. // will print stacktrace
  133. if (app.get('env') === 'development') {
  134. app.use(function(err, req, res, next) {
  135. res.status(err.status || 500);
  136. res.render('error', {
  137. message: err.message,
  138. error: err
  139. });
  140. });
  141. }
  142.  
  143. // production error handler
  144. // no stacktraces leaked to user
  145. app.use(function(err, req, res, next) {
  146. res.status(err.status || 500);
  147. res.render('error', {
  148. message: err.message,
  149. error: {}
  150. });
  151. });
  152.  
  153. /**
  154. * Some business code here
  155. */
  156. ....
  157.  
  158. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement