light-ning
Version:
(ALPHA) framework without dependecies...
31 lines (19 loc) • 812 B
JavaScript
import httpCodes from './httpCodes';
export default class Response {
res;
constructor(response) {
this.res = response;
return (obj) => {
let {code, error, data} = obj, {res} = this;
if (code) res.statusCode = code;
res.statusMessage = httpCodes[`http_${res.statusCode}`] || res.statusMessage;
if (error && code) return res.end(JSON.stringify({ error: error, code: res.statusCode }));
else if (error && !code) {
throw new Error('response: "error" must sending with "code"');
}
if (res.statusCode >= 400 && res.statusCode <= 511) return res.end({ error: res.statusMessage, code: res.statusCode });
if (data) return res.end(JSON.stringify({ data: data, code: res.statusCode, message: res.statusMessage }));
res.end();
}
}
}