Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express')
- , redis = require('redis')
- , routes = require('./routes')
- , user = require('./routes/user')
- , http = require('http')
- , path = require('path');
- var redisStore = redis.createClient();
- var app = express();
- app.enable('trust proxy');
- app.configure(function(){
- app.set('port', process.env.PORT || 3000);
- app.set('views', __dirname + '/views');
- app.set('view engine', 'jade');
- app.use(express.favicon());
- app.use(express.logger('dev'));
- app.use(express.bodyParser());
- app.use(express.methodOverride());
- app.use(express.cookieParser('your secret here'));
- app.use(express.session());
- app.use(app.router);
- app.use(express.static(path.join(__dirname, 'public')));
- });
- app.configure('development', function(){
- app.use(express.errorHandler());
- });
- app.use(function(req, res, next){
- var ua = req.headers['user-agent'];
- redisStore.zadd('online', Date.now(), ua, next);
- });
- app.use(function(req, res, next){
- var min = 60*1000;
- var ago = Date.now() - min;
- redisStore.zrevrangebyscore('online', '+inf', ago, function(err, users){
- if(err){
- return next(err);
- }
- req.online = users;
- next();
- });
- });
- app.get('/', function(req, res){
- var usercount = req.online.length + ' users online';
- res.render('index', {title: "Test Title", useron: usercount});
- });
- app.get('/users', user.list);
- http.createServer(app).listen(app.get('port'), function(){
- console.log("Express server listening on port " + app.get('port'));
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement