Skip to content

Instantly share code, notes, and snippets.

@shripadk
Created December 14, 2010 02:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shripadk/739941 to your computer and use it in GitHub Desktop.
Save shripadk/739941 to your computer and use it in GitHub Desktop.
// [~/Documents/code/node/myapp](master)$ ./bin/node -v
// => v0.2.1
// [~/Documents/code/node/myapp](master)$ ./bin/express -v
// => 1.0.0rc4
/**
* Module dependencies.
*/
require.paths.unshift(__dirname + '/lib/node');
var express = require('express');
var less = require('less');
var mylib = require('mylib');
var rStore = require('connect-redis');
var io = require('socket.io-node');
var app = module.exports = express.createServer();
var csrf = require('./path/to/express-csrf/csrf.js');
// Dynamic Helpers
app.dynamicHelpers({
csrf: csrf.token;
});
app.dynamicHelpers({
current_user: function(req) {
return req.session.user;
}
});
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.use(express.logger());
app.set('view engine', 'jade');
app.use(express.bodyDecoder());
app.use(express.cookieDecoder());
app.use(express.session({ store: new rStore }));
// if u plan to use express-csrf
app.use(csrf.check());
app.use(app.router);
app.use(express.methodOverride());
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }));
app.use(express.staticProvider(__dirname + '/public'));
});
app.configure('development', function() {
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function() {
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res) {
if (!current_user) {
res.render('index', {
locals: {
title: 'Home',
viewport: 'width=device-width, initial-scale=1.0',
http_equiv: 'IE=edge,chrome=1'
}
});
} else {
res.redirect('/success');
}
});
// Only listen on $ node app.js
if (!module.parent) {
app.listen(3000);
console.log("Express server listening on port %d", app.address().port)
}
// Socket.IO
var socket = io.listen(app);
socket.on('connection', function(client) {
var session_data = client.listener.server.dynamicViewHelpers;
// var c_user = session_data.current_user();
var c_user = session_data.current_user;
var c_user_email = session_data.current_user.email;
console.log(c_user);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment