1 | var koa = require('koa');
|
2 | var route = require('koa-route');
|
3 | var bodyparser = require('koa-bodyparser');
|
4 | var scheme = require('..');
|
5 | var conf = require('./scheme');
|
6 |
|
7 | var app = koa();
|
8 |
|
9 | app.use(function* (next) {
|
10 | try {
|
11 | yield next;
|
12 | } catch(e) {
|
13 | this.status = e.status;
|
14 | this.body = e.message;
|
15 | }
|
16 | });
|
17 |
|
18 | app.use(bodyparser());
|
19 | app.use(scheme(conf, {debug: true}));
|
20 |
|
21 | var nameObj = {
|
22 | 'nswbmw': {name: 'nswbmw', age: 23, email: 'nswbmw1992@gmail.com'}
|
23 | };
|
24 |
|
25 | app.use(route.get('/users', function* () {
|
26 | this.body = Object.keys(nameObj).map(function (name) {
|
27 | return nameObj[name];
|
28 | });
|
29 | }));
|
30 |
|
31 | app.use(route.get('/user/:username', function* (username) {
|
32 | this.body = nameObj[username];
|
33 | }));
|
34 |
|
35 | app.use(route.post('/user/:username', function* (username) {
|
36 | nameObj[username] = this.request.body;
|
37 | this.status = 200;
|
38 | }));
|
39 |
|
40 | app.use(route.delete('/user/:username', function* (username) {
|
41 | delete nameObj[username];
|
42 | this.status = 200;
|
43 | }));
|
44 |
|
45 | if (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 |