1 | const Huncwot = require('.');
|
2 | const { created } = require('./response.js');
|
3 | const { validate } = require('./request.js');
|
4 |
|
5 | const app = new Huncwot();
|
6 | const { compose } = require('./util.js');
|
7 |
|
8 | const identity = _ => _;
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | const prepend = next => async request => `Prefix -> ${await next(request)}`;
|
16 |
|
17 | const GETs = {
|
18 | get: {
|
19 | '/no-return': _ => {
|
20 | status: 'Created!';
|
21 | },
|
22 | '/simple-compose': [identity, _ => 'Simple Compose'],
|
23 | '/prepend-compose': [prepend, _ => 'Prepend Compose'],
|
24 | '/request-validation': [
|
25 | validate({ name: { type: String, required: true } }),
|
26 | ({ params: { admin } }) =>
|
27 | `Admin param (${admin}) should be absent from this request payload`
|
28 | ],
|
29 | '/headers': ({ cookies, headers, params }) => {
|
30 | console.log(cookies);
|
31 | return '';
|
32 | }
|
33 |
|
34 | },
|
35 | post: {
|
36 | '/post-form': ({ params: { name } }) => `Received -> ${name}`,
|
37 | '/upload': ({ files }) => `Upload -> ${JSON.stringify(files)}`
|
38 | }
|
39 | };
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | app.start({ routes: GETs });
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|