Skip to content
This repository has been archived by the owner on Aug 30, 2021. It is now read-only.

Commit

Permalink
Merge branch 'pr/18' into 0.3.0
Browse files Browse the repository at this point in the history
Conflicts:
	app/routes/core.server.routes.js
	config/express.js
	package.json
  • Loading branch information
amoshaviv committed Apr 20, 2014
2 parents 44bf81a + 16f3393 commit 7792957
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 39 deletions.
15 changes: 9 additions & 6 deletions app/routes/articles.server.routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@ var users = require('../../app/controllers/users.server.controller'),
articles = require('../../app/controllers/articles.server.controller');

module.exports = function(app) {
// Article Routes
app.get('/articles', articles.list);
app.post('/articles', users.requiresLogin, articles.create);
app.get('/articles/:articleId', articles.read);
app.put('/articles/:articleId', users.requiresLogin, articles.hasAuthorization, articles.update);
app.del('/articles/:articleId', users.requiresLogin, articles.hasAuthorization, articles.delete);
// Article Routes, using express 4.x syntax
app.route('/articles')
.get(articles.list)
.post(users.requiresLogin, articles.create);

app.route('/articles/:articleId')
.get(articles.read)
.put(users.requiresLogin, articles.hasAuthorization, articles.update)
.delete(users.requiresLogin, articles.hasAuthorization, articles.delete);

// Finish by binding the article middleware
app.param('articleId', articles.articleByID);
Expand Down
58 changes: 28 additions & 30 deletions config/express.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,16 @@
* Module dependencies.
*/
var express = require('express'),
morgan = require('morgan'),
bodyParser = require('body-parser'),
session = require('express-session'),
compress = require('compression'),
methodOverride = require('method-override'),
cookieParser = require('cookie-parser'),
passport = require('passport'),
mongoStore = require('connect-mongo')(express),
mongoStore = require('connect-mongo')({
session: session
}),
flash = require('connect-flash'),
config = require('./config'),
consolidate = require('consolidate'),
Expand All @@ -20,15 +28,12 @@ module.exports = function(db) {
require(path.resolve(modelPath));
});

// Setting the environment locals
app.locals({
title: config.app.title,
description: config.app.description,
keywords: config.app.keywords,
facebookAppId: config.facebook.clientID,
jsFiles: config.getJavaScriptAssets(),
cssFiles: config.getCSSAssets()
});
app.locals.title = config.app.title;
app.locals.description = config.app.description;
app.locals.keywords = config.app.keywords;
app.locals.facebookAppId = config.facebook.clientID;
app.locals.jsFiles = config.getJavaScriptAssets();
app.locals.cssFiles = config.getCSSAssets();

// Passing the request url to environment locals
app.use(function(req, res, next) {
Expand All @@ -37,7 +42,7 @@ module.exports = function(db) {
});

// Should be placed before express.static
app.use(express.compress({
app.use(compress({
filter: function(req, res) {
return (/json|text|javascript|css/).test(res.getHeader('Content-Type'));
},
Expand All @@ -54,35 +59,31 @@ module.exports = function(db) {
app.set('view engine', 'html');
app.set('views', config.root + '/app/views');

// Application Configuration for development environment
app.configure('development', function() {
// Enable logger
app.use(express.logger('dev'));
// Environment dependent middleware
if (process.env.NODE_ENV === 'development') {
// Enable logger (morgan)
app.use(morgan('dev'));

// Disable views cache
app.set('view cache', false);
});
} else if (process.env.NODE_ENV === 'production') {
app.locals.cache = 'memory';
}

// Application Configuration for production environment
app.configure('production', function() {
app.locals({
cache: 'memory' // To solve SWIG Cache Issues
});
});

// request body parsing middleware should be above methodOverride
app.use(express.urlencoded());
app.use(express.json());
app.use(express.methodOverride());
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
app.use(methodOverride());

// Enable jsonp
app.enable('jsonp callback');

// cookieParser should be above session
app.use(express.cookieParser());
app.use(cookieParser());

// express/mongo session storage
app.use(express.session({
app.use(session({
secret: config.sessionSecret,
store: new mongoStore({
db: db.connection.db,
Expand All @@ -97,9 +98,6 @@ module.exports = function(db) {
// connect flash for flash messages
app.use(flash());

// routes should be at the last
app.use(app.router);

// Setting the app router and static folder
app.use(express.static(config.root + '/public'));

Expand Down
10 changes: 7 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@
"postinstall": "bower install --config.interactive=false"
},
"dependencies": {
"express": "~3.5.1",
"express": "~4.0.0",
"express-session": "~1.0.2",
"body-parser": "~1.0.1",
"cookie-parser": "~1.0.1",
"compression": "~1.0.1",
"method-override": "~1.0.0",
"morgan": "~1.0.0",
"consolidate": "~0.10.0",
"swig": "~1.3.2",
"mongoose": "~3.8.8",
"connect-mongo": "~0.4.0",
"connect-flash": "~0.1.1",
"passport": "~0.2.0",
"passport-local": "~1.0.0",
"passport-facebook": "~1.0.2",
Expand Down

0 comments on commit 7792957

Please sign in to comment.