UNPKG

1.37 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = undefined;
7
8var _httpCodes = require('./httpCodes');
9
10var _httpCodes2 = _interopRequireDefault(_httpCodes);
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
16var Response = function Response(response) {
17 var _this = this;
18
19 _classCallCheck(this, Response);
20
21 this.res = response;
22
23 return function (obj) {
24 var code = obj.code,
25 error = obj.error,
26 data = obj.data,
27 res = _this.res;
28
29
30 if (code) res.statusCode = code;
31
32 res.statusMessage = _httpCodes2.default['http_' + res.statusCode] || res.statusMessage;
33
34 if (error && code) return res.end(JSON.stringify({ error: error, code: res.statusCode }));else if (error && !code) {
35 throw new Error('response: "error" must sending with "code"');
36 }
37
38 if (res.statusCode >= 400 && res.statusCode <= 511) return res.end({ error: res.statusMessage, code: res.statusCode });
39
40 if (data) return res.end(JSON.stringify({ data: data, code: res.statusCode, message: res.statusMessage }));
41
42 res.end();
43 };
44};
45
46Response.displayName = 'Response';
47exports.default = Response;
\No newline at end of file