UNPKG

1.09 kBJavaScriptView Raw
1var koa = require('koa');
2var route = require('koa-route');
3var bodyparser = require('koa-bodyparser');
4var scheme = require('..');
5var conf = require('./scheme');
6
7var app = koa();
8
9app.use(function* (next) {
10 try {
11 yield next;
12 } catch(e) {
13 this.status = e.status;
14 this.body = e.message;
15 }
16});
17
18app.use(bodyparser());
19app.use(scheme(conf, {debug: true}));
20
21var nameObj = {
22 'nswbmw': {name: 'nswbmw', age: 23, email: 'nswbmw1992@gmail.com'}
23};
24
25app.use(route.get('/users', function* () {
26 this.body = Object.keys(nameObj).map(function (name) {
27 return nameObj[name];
28 });
29}));
30
31app.use(route.get('/user/:username', function* (username) {
32 this.body = nameObj[username];
33}));
34
35app.use(route.post('/user/:username', function* (username) {
36 nameObj[username] = this.request.body;
37 this.status = 200;
38}));
39
40app.use(route.delete('/user/:username', function* (username) {
41 delete nameObj[username];
42 this.status = 200;
43}));
44
45if (module.parent) {
46 module.exports = app;
47} else {
48 app.listen(3000, function () {
49 console.log('Test server listening on 3000');
50 });
51}
\No newline at end of file