UNPKG

812 BJavaScriptView Raw
1import httpCodes from './httpCodes';
2
3export default class Response {
4
5 res;
6
7 constructor(response) {
8 this.res = response;
9
10 return (obj) => {
11 let {code, error, data} = obj, {res} = this;
12
13 if (code) res.statusCode = code;
14
15 res.statusMessage = httpCodes[`http_${res.statusCode}`] || res.statusMessage;
16
17 if (error && code) return res.end(JSON.stringify({ error: error, code: res.statusCode }));
18 else if (error && !code) {
19 throw new Error('response: "error" must sending with "code"');
20 }
21
22 if (res.statusCode >= 400 && res.statusCode <= 511) return res.end({ error: res.statusMessage, code: res.statusCode });
23
24 if (data) return res.end(JSON.stringify({ data: data, code: res.statusCode, message: res.statusMessage }));
25
26 res.end();
27 }
28 }
29
30}