Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var async = require('async');
- var express = require('express');
- var db = require('./db');
- var User = db.User;
- var Quote = db.Quote;
- function startServer(callback) {
- var app = express();
- app.use(express.favicon());
- // For each request we're the same user
- app.all('*', function(req, res, next) {
- User.findOne().populate('lastQuote').exec(function(err, user) {
- if (err) return next(err);
- req.user = user;
- next();
- });
- });
- app.get('/', function(req, res, next) {
- if (req.user.lastQuote) {
- req.user.lastQuote.next(function(err, quote) {
- res.send(quote.quote);
- req.user.lastQuote = quote._id;
- req.user.save();
- });
- } else {
- Quote.random(function(err, quote) {
- res.send(quote.quote);
- req.user.lastQuote = quote._id;
- req.user.save();
- });
- }
- });
- http.createServer(app).listen(3000, callback);
- }
- async.series([db.reset, db.seed, startServer], function(err) {
- if (err) throw err;
- console.log("Server started.");
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement