Guest User

Untitled

a guest
Apr 18th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var sys = require('sys')
  2.   , http = require('http')
  3.   , connect = require('connect')
  4.   , mongoStore = require('../lib/connect-mongodb')
  5.   , Db = require('mongodb').Db
  6.   , Server = require('mongodb').Server
  7.   , server_config = new Server('staff.mongohq.com', 10089, {auto_reconnect: true, native_parser: true})
  8.   , db = new Db('nodejitsudb456445450765', server_config, {})
  9.   , mongo_store = new mongoStore({db: db, username: 'nodejitsu', password: '<password>', reapInterval: 3000}); // check every 3 seconds
  10.  
  11. http.IncomingMessage.prototype.flash = function (type, msg) {
  12.   var msgs = this.session.flash = this.session.flash || {};
  13.   if (type && msg) {
  14.     (msgs[type] = msgs[type] || []).push(msg);
  15.   } else if (type) {
  16.     var arr = msgs[type];
  17.     delete msgs[type];
  18.     return arr || [];
  19.   } else {
  20.     this.session.flash = {};
  21.     return msgs;
  22.   }
  23. };
  24.  
  25. connect.createServer(
  26.  
  27.     connect.favicon(),
  28.     connect.bodyParser(),
  29.     connect.cookieParser(),
  30.     // reap every 6 seconds, 6 seconds maxAge
  31.     connect.session({cookie: {maxAge: 6000}, store: mongo_store, secret: 'foo'}),
  32.  
  33.     // Increment views
  34.     function (req, res) {
  35.       req.session.count = req.session.count || 0
  36.       ++req.session.count;
  37.  
  38.       // Display online count
  39.       req.sessionStore.length(function(err, len){
  40.         if (req.session.count < 10) {
  41.           var msgs = req.flash('info').join('\n');
  42.           res.writeHead(200, { 'Content-Type': 'text/html' });
  43.           res.write(msgs);
  44.           res.write('<form method="post"><input type="hidden" name="foo" value="bar" /><input type="submit" value="POST request!" /></form>');
  45.           res.write('<p>online : ' + len + '</p>');
  46.           res.end('<p>views: ' + req.session.count + '</p>');
  47.         } else {
  48.           // regenerate session after 10 views
  49.           req.session.regenerate(function(){
  50.             req.flash('info', 'sess key is now <strong>' + req.sessionID + '</strong>');
  51.             res.writeHead(200, { 'Content-Type': 'text/html' });
  52.             res.end('regenerated session');
  53.           });
  54.         }
  55.       });
  56.     }
  57. ).listen(3000);
  58.  
  59. sys.puts('Connect server started on port 3000');
Add Comment
Please, Sign In to add comment