Skip to content

Instantly share code, notes, and snippets.

@duran
Created December 24, 2013 07:23
Show Gist options
  • Select an option

  • Save duran/8109918 to your computer and use it in GitHub Desktop.

Select an option

Save duran/8109918 to your computer and use it in GitHub Desktop.
/**
* Module dependencies.
*/
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/', routes.index);
app.get('/users', user.list);
app.param(function(name, fn){
if (fn instanceof RegExp) {
return function(req, res, next, val){
var captures;
if (captures = fn.exec(String(val))) {
req.params[name] = captures;
next();
} else {
next('route');
}
}
}
});
app.param('shortId', /^[0-9]{0,4}$/);
app.param('longId', /^[0-9]{5,20}$/);
app.get('/path/:shortId', function(req, res){
res.send('ShortID:' + req.params.shortId);
});
app.get('/path/:longId', function(req, res){
res.send('LongId:' + req.params.longId);
});
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment