Updated server/index.coffee for new session middleware. doesn't work

This commit is contained in:
Tyler Renelle
2012-07-17 10:20:41 -04:00
parent 98e824eb2e
commit e82a7a699d
3 changed files with 49 additions and 49 deletions

View File

@@ -1,5 +1,5 @@
// Generated by CoffeeScript 1.3.3 // Generated by CoffeeScript 1.3.3
var MongoStore, ONE_YEAR, app, derby, exports, express, expressApp, gzippo, http, path, publicPath, racer, root, server, serverError; var ONE_YEAR, app, derby, express, expressApp, gzippo, http, path, publicPath, racer, root, server, serverError, store;
http = require('http'); http = require('http');
@@ -9,8 +9,6 @@ express = require('express');
gzippo = require('gzippo'); gzippo = require('gzippo');
MongoStore = require('connect-mongo')(express);
derby = require('derby'); derby = require('derby');
app = require('../app'); app = require('../app');
@@ -21,37 +19,39 @@ racer = require('derby/node_modules/racer');
racer.set('transports', ['xhr-polling']); racer.set('transports', ['xhr-polling']);
racer.set('bundle timeout', 5000);
expressApp = express();
server = http.createServer(expressApp);
module.exports = server;
derby.use(require('racer-db-mongo'));
store = derby.createStore({
db: {
type: 'Mongo',
uri: process.env.NODE_DB_URI
},
listen: server
});
ONE_YEAR = 1000 * 60 * 60 * 24 * 365; ONE_YEAR = 1000 * 60 * 60 * 24 * 365;
root = path.dirname(path.dirname(__dirname)); root = path.dirname(path.dirname(__dirname));
publicPath = path.join(root, 'public'); publicPath = path.join(root, 'public');
(expressApp = express()).use(express.favicon()).use(gzippo.staticGzip(publicPath, { expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
maxAge: ONE_YEAR maxAge: ONE_YEAR
})).use(express.compress()).use(express.cookieParser('secret_sauce')).use(express.session({ })).use(express.compress()).use(express.cookieParser()).use(store.sessionMiddleware({
secret: 'secret_sauce', secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE',
cookie: { cookie: {
maxAge: ONE_YEAR maxAge: ONE_YEAR
}, }
store: new MongoStore({ })).use(store.modelMiddleware()).use(app.router()).use(expressApp.router).use(serverError(root));
url: process.env.NODE_DB_URI,
collection: 'express-sessions'
})
})).use(app.session()).use(app.router()).use(expressApp.router).use(serverError(root));
exports = module.exports = server = http.createServer(expressApp);
expressApp.all('*', function(req) { expressApp.all('*', function(req) {
throw "404: " + req.url; throw "404: " + req.url;
}); });
derby.use(require('racer-db-mongo'));
exports.store = app.createStore({
listen: server,
db: {
type: 'Mongo',
uri: process.env.NODE_DB_URI
}
});

View File

@@ -1,13 +1,13 @@
{ {
"name": "habitrpg", "name": "habitrpg",
"description": "A habit tracker app which treats your goals like a Role Playing Game.", "description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "0.0.0-52", "version": "0.0.0-53",
"main": "./server.js", "main": "./server.js",
"dependencies": { "dependencies": {
"derby": "*", "derby": "*",
"express": "3.0.0beta4", "express": "3.0.0beta4",
"gzippo": ">=0.1.4", "gzippo": ">=0.1.4",
"racer-db-mongo": "*", "racer-db-mongo": ">=0.3.11",
"connect-mongo": ">=0.1.9", "connect-mongo": ">=0.1.9",
"derby-ui-boot": "*", "derby-ui-boot": "*",
"guid": "*" "guid": "*"

View File

@@ -2,26 +2,36 @@ http = require 'http'
path = require 'path' path = require 'path'
express = require 'express' express = require 'express'
gzippo = require 'gzippo' gzippo = require 'gzippo'
MongoStore = require('connect-mongo')(express)
derby = require 'derby' derby = require 'derby'
app = require '../app' app = require '../app'
serverError = require './serverError' serverError = require './serverError'
## RACER CONFIGURATION ##
racer = require 'derby/node_modules/racer' racer = require 'derby/node_modules/racer'
racer.set('transports', ['xhr-polling']) racer.set('transports', ['xhr-polling'])
racer.set('bundle timeout', 5000)
## SERVER CONFIGURATION ## ## SERVER CONFIGURATION ##
expressApp = express()
server = http.createServer expressApp
module.exports = server
derby.use(require 'racer-db-mongo')
store = derby.createStore
db: {type: 'Mongo', uri: process.env.NODE_DB_URI}
listen: server
#require('./queries')(store)
ONE_YEAR = 1000 * 60 * 60 * 24 * 365 ONE_YEAR = 1000 * 60 * 60 * 24 * 365
root = path.dirname path.dirname __dirname root = path.dirname path.dirname __dirname
publicPath = path.join root, 'public' publicPath = path.join root, 'public'
(expressApp = express()) expressApp
.use(express.favicon()) .use(express.favicon())
# Gzip static files and serve from memory # Gzip static files and serve from memory
.use(gzippo.staticGzip publicPath, maxAge: ONE_YEAR) .use(gzippo.staticGzip publicPath, maxAge: ONE_YEAR)
# Gzip dynamically rendered content # Gzip dynamically rendered content
.use(express.compress()) .use(express.compress())
@@ -29,37 +39,27 @@ publicPath = path.join root, 'public'
# .use(express.bodyParser()) # .use(express.bodyParser())
# .use(express.methodOverride()) # .use(express.methodOverride())
# Derby session middleware creates req.model and subscribes to _session # Uncomment and supply secret to add Derby session handling
.use(express.cookieParser 'secret_sauce') # Derby session middleware creates req.session and socket.io sessions
.use(express.session .use(express.cookieParser())
secret: 'secret_sauce' .use(store.sessionMiddleware
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE'
cookie: {maxAge: ONE_YEAR} cookie: {maxAge: ONE_YEAR}
store: new MongoStore(url: process.env.NODE_DB_URI, collection: 'express-sessions')
) )
.use(app.session())
# The router method creates an express middleware from the app's routes # Adds req.getModel method
.use(store.modelMiddleware())
# Creates an express middleware from the app's routes
.use(app.router()) .use(app.router())
.use(expressApp.router) .use(expressApp.router)
.use(serverError root) .use(serverError root)
exports = module.exports = server = http.createServer expressApp
## SERVER ONLY ROUTES ## ## SERVER ONLY ROUTES ##
expressApp.all '*', (req) -> expressApp.all '*', (req) ->
throw "404: #{req.url}" throw "404: #{req.url}"
## STORE SETUP ##
derby.use(require 'racer-db-mongo')
exports.store = app.createStore
listen: server
db: {type: 'Mongo', uri: process.env.NODE_DB_URI}
# Would implement cron here, using node-cron & https://github.com/codeparty/derby/issues/99#issuecomment-6596460 # Would implement cron here, using node-cron & https://github.com/codeparty/derby/issues/99#issuecomment-6596460
# But it's not working # But it's not working
# cronJob = require("cron").CronJob # cronJob = require("cron").CronJob