-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
125 lines (121 loc) · 4.46 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
var liveServer = require("live-server");
var params = {
port: 8080, // Set the server port. Defaults to 8080.
host: "0.0.0.0", // Set the address to bind to. Defaults to 0.0.0.0 or process.env.IP.
root: "./server", // Set root directory that's being served. Defaults to cwd.
open: false, // When false, it won't load your browser by default.
//ignore: 'scss,my/templates', // comma-separated string for paths to ignore
file: "index.html", // When set, serve this file for every 404 (useful for single-page applications)
wait: 1000, // Waits for all changes, before reloading. Defaults to 0 sec.
mount: [
['/dist', './dist']
], // Mount a directory to a route.
logLevel: 2, // 0 = errors only, 1 = some, 2 = lots
//middleware in some dummy data
middleware: [
function(req, res, next) {
console.log(req.url);
if(req.url === '/api/posts')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"posts": [
{
"id": 1,
"value": "Some post data here",
"links": {
"comments": "/api/posts/1/comments"
}
}
],
"meta": {
"total": 1
}
}, null, 4));
}
else if(req.url === '/api/posts/1')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"posts": [
{
"id": 1,
"value": "Some post data here",
"links": {
"comments": "/api/posts/1/comments"
}
}
]
}, null, 4));
}
else if(req.url === '/api/posts/1/comments')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"comments": [
{
"id": 1,
"post": 1,
"value": "Some comment data here"
}
]
}, null, 4));
}
else if(req.url === '/api/comments')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"comments": [
{
"id": 1,
"post": 1,
"value": "Some comment data here"
}
],
"meta": {
"total": 1
}
}, null, 4));
}
else if(req.url === '/api/comments/1')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"comments": [
{
"id": 1,
"post": 1,
"value": "Some comment data here"
}
]
}, null, 4));
}
else if(req.url === '/api/comments/1/posts')
{
res.setHeader('content-type', 'application/json');
res.statusCode = 200;
res.end(JSON.stringify({
"posts": [
{
"id": 1,
"value": "Some post data here",
"links": {
"comments": "/api/posts/1/comments"
}
}
]
}, null, 4));
}
else
{
next();
}
}
] // Takes an array of Connect-compatible middleware that are injected into the server middleware stack
};
liveServer.start(params);