mirror of
https://github.com/zebrajr/express.git
synced 2025-12-06 12:19:51 +01:00
63 lines
1.1 KiB
JavaScript
63 lines
1.1 KiB
JavaScript
|
|
var express = require('../../lib/express')
|
|
, verbose = process.env.NODE_ENV != 'test'
|
|
, app = module.exports = express();
|
|
|
|
app.map = function(a, route){
|
|
route = route || '';
|
|
for (var key in a) {
|
|
switch (typeof a[key]) {
|
|
// { '/path': { ... }}
|
|
case 'object':
|
|
app.map(a[key], route + key);
|
|
break;
|
|
// get: function(){ ... }
|
|
case 'function':
|
|
if (verbose) console.log('%s %s', key, route);
|
|
app[key](route, a[key]);
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
|
|
var users = {
|
|
list: function(req, res){
|
|
res.send('user list');
|
|
},
|
|
|
|
get: function(req, res){
|
|
res.send('user ' + req.params.uid);
|
|
},
|
|
|
|
del: function(req, res){
|
|
res.send('delete users');
|
|
}
|
|
};
|
|
|
|
var pets = {
|
|
list: function(req, res){
|
|
res.send('user ' + req.params.uid + '\'s pets');
|
|
},
|
|
|
|
del: function(req, res){
|
|
res.send('delete ' + req.params.uid + '\'s pet ' + req.params.pid);
|
|
}
|
|
};
|
|
|
|
app.map({
|
|
'/users': {
|
|
get: users.list,
|
|
del: users.del,
|
|
'/:uid': {
|
|
get: users.get,
|
|
'/pets': {
|
|
get: pets.list,
|
|
'/:pid': {
|
|
del: pets.del
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
app.listen(3000); |