update history.md for acceptParams change (#6177)
[express.git] / examples / route-map / index.js
blob2bc28bd4b26bdae241fb5488450bec869beee67b
1 'use strict'
3 /**
4 * Module dependencies.
5 */
7 var escapeHtml = require('escape-html')
8 var express = require('../../lib/express');
10 var verbose = process.env.NODE_ENV !== 'test'
12 var app = module.exports = express();
14 app.map = function(a, route){
15 route = route || '';
16 for (var key in a) {
17 switch (typeof a[key]) {
18 // { '/path': { ... }}
19 case 'object':
20 app.map(a[key], route + key);
21 break;
22 // get: function(){ ... }
23 case 'function':
24 if (verbose) console.log('%s %s', key, route);
25 app[key](route, a[key]);
26 break;
31 var users = {
32 list: function(req, res){
33 res.send('user list');
36 get: function(req, res){
37 res.send('user ' + escapeHtml(req.params.uid))
40 delete: function(req, res){
41 res.send('delete users');
45 var pets = {
46 list: function(req, res){
47 res.send('user ' + escapeHtml(req.params.uid) + '\'s pets')
50 delete: function(req, res){
51 res.send('delete ' + escapeHtml(req.params.uid) + '\'s pet ' + escapeHtml(req.params.pid))
55 app.map({
56 '/users': {
57 get: users.list,
58 delete: users.delete,
59 '/:uid': {
60 get: users.get,
61 '/pets': {
62 get: pets.list,
63 '/:pid': {
64 delete: pets.delete
69 });
71 /* istanbul ignore next */
72 if (!module.parent) {
73 app.listen(3000);
74 console.log('Express started on port 3000');