-
Notifications
You must be signed in to change notification settings - Fork 0
/
response.js
60 lines (53 loc) · 1.33 KB
/
response.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
'use strict';
const Config = require('./config');
/**
* Response Class
*
*/
module.exports = class Response {
/**
* Makes response ready to be written in the response
*
* @param response
*/
static make(response) {
return JSON.stringify(response);
};
/**
* Sets Response Headers
*
* @param server
* @param code
*/
static setHeader(server, code = undefined) {
code = ( code !== undefined ) ? code : Config.core.defaultResponseCode;
server.writeHead(code, Config.core.headers);
};
/**
* Write response and set response headers
*
* @param server
* @param result
* @param code
* @param extraHeads
*/
static write(server, result, code = undefined, extraHeads = undefined) {
if (extraHeads !== undefined) {
Object.keys(extraHeads).forEach(function (key) {
server.setHeader(key, extraHeads[key]);
});
}
Response.setHeader(server, code);
server.write(result);
server.end(); //end the response
};
static manipulate(method, result) {
if( Config.core.routes.indexOf(method) !== -1 ) {
return Response[method](result);
}
return [];
}
static match(result) {
// console.log(result);
}
};