forked from moko365/nodejs-getting-started
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver-qs.js
39 lines (33 loc) · 1.18 KB
/
server-qs.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
var http = require('http');
var url = require('url');
var querystring = require('querystring');
http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var qs = querystring.parse(url.parse(request.url).query);
console.log('Received ' + pathname + ' request.');
var routes = {
'/': function(request, response) {
response.writeHead(200, {'Content-Type':'text/plain'});
response.write('Hello World');
response.end();
},
'/abc': function(request, response) {
var type = 'text/plain';
var output = 'test';
if (typeof qs.format !== 'undefined' && qs.format === 'json') {
type = 'application/json';
output = JSON.stringify({ data: 'test' });
}
response.writeHead(200, {'Content-Type': type});
response.write(output);
response.end();
}
};
if (typeof routes[pathname] === 'function') {
routes[pathname](request, response);
} else {
response.writeHead(404);
response.write('404 not found');
response.end();
}
}).listen(3000);