light-ning
Version:
(ALPHA) framework without dependecies...
39 lines (33 loc) • 1.76 kB
JavaScript
export default (req, res) => {
const status = res.statusCode;
let statusCode;
const paint = (word, color) => {
word = word.toString();
switch (color) {
case 'red': return `\u001b[31m${word}\u001b[39m`;
case 'green': return `\u001b[32m${word}\u001b[39m`;
case 'cyan': return `\u001b[36m${word}\u001b[39m`;
case 'magenta': return `\u001b[35m${word}\u001b[39m`;
case 'bold': return `\u001b[1m${word}\u001b[22m`;
case 'bgWhite': return `\u001b[47m${word}\u001b[49m`;
case 'black': return `\u001b[30m${word}\u001b[39m`;
}
};
if (status >= 200 && status <= 226) statusCode = paint(status, 'green');
if (status >= 300 && status <= 307) statusCode = paint(status, 'cyan');
if (status >= 400 && status <= 451) statusCode = paint(status, 'red');
if (status >= 500 && status <= 511) statusCode = paint(status, 'red');
if (req.method.length === 3) {
console.info(
paint(' ', 'magenta') + paint(paint(req.method, 'bold'), 'magenta') + paint('\u0020\u0020\u0020 ', 'magenta') + paint(statusCode, 'bold') + ' ' + paint(' ', 'bgWhite') + paint(paint(req.url, 'black'), 'bgWhite') + paint(' ', 'bgWhite')
);
} else if (req.method.length === 4) {
console.info(
paint(' ', 'magenta') + paint(paint(req.method, 'bold'), 'magenta') + paint('\u0020\u0020 ', 'magenta') + paint(statusCode, 'bold') + ' ' + paint(' ', 'bgWhite') + paint(paint(req.url, 'black'), 'bgWhite') + paint(' ', 'bgWhite')
);
} else {
console.info(
paint(' ', 'magenta') + paint(paint(req.method, 'bold'), 'magenta') + paint(' ', 'magenta') + paint(statusCode, 'bold') + ' ' + paint(' ', 'bgWhite') + paint(paint(req.url, 'black'), 'bgWhite') + paint(' ', 'bgWhite')
);
}
};