aboutsummaryrefslogtreecommitdiff
path: root/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'app.js')
-rw-r--r--app.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/app.js b/app.js
index a2e82ce..54dbd44 100644
--- a/app.js
+++ b/app.js
@@ -12,6 +12,7 @@ app.configure(function(){
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
+ app.use(urlgenerator);
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
@@ -20,8 +21,28 @@ app.configure('development', function(){
app.use(express.errorHandler());
});
+function urlgenerator(req, res, next) {
+ var host = req.headers.host;
+ res.urlgenerator = {
+ departments: function() {
+ return 'http://' + host + '/';
+ },
+ department: function(dept_no) {
+ return 'http://' + host + '/department/' + dept_no;
+ },
+ employees_in_department: function(dept_no) {
+ return 'http://' + host + '/department/' + dept_no + '/employees';
+ },
+ employee: function(emp_no) {
+ return 'http://' + host + '/employee/' + emp_no;
+ }
+ };
+ next();
+}
+
app.get('/', routes.departments);
app.get('/department/:dept_no', routes.department);
+app.get('/department/:dept_no/employees', routes.employees_in_department);
app.get('/employee/:emp_no', routes.employee);
http.createServer(app).listen(app.get('port'), function(){