1 |
|
2 | export default (req, res) => {
|
3 | const status = res.statusCode;
|
4 | let statusCode;
|
5 |
|
6 | const paint = (word, color) => {
|
7 | word = word.toString();
|
8 |
|
9 | switch (color) {
|
10 | case 'red': return `\u001b[31m${word}\u001b[39m`;
|
11 | case 'green': return `\u001b[32m${word}\u001b[39m`;
|
12 | case 'cyan': return `\u001b[36m${word}\u001b[39m`;
|
13 | case 'magenta': return `\u001b[35m${word}\u001b[39m`;
|
14 | case 'bold': return `\u001b[1m${word}\u001b[22m`;
|
15 | case 'bgWhite': return `\u001b[47m${word}\u001b[49m`;
|
16 | case 'black': return `\u001b[30m${word}\u001b[39m`;
|
17 | }
|
18 | };
|
19 |
|
20 | if (status >= 200 && status <= 226) statusCode = paint(status, 'green');
|
21 | if (status >= 300 && status <= 307) statusCode = paint(status, 'cyan');
|
22 | if (status >= 400 && status <= 451) statusCode = paint(status, 'red');
|
23 | if (status >= 500 && status <= 511) statusCode = paint(status, 'red');
|
24 |
|
25 | if (req.method.length === 3) {
|
26 | console.info(
|
27 | 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')
|
28 | );
|
29 | } else if (req.method.length === 4) {
|
30 | console.info(
|
31 | 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')
|
32 | );
|
33 | } else {
|
34 | console.info(
|
35 | paint(' ', 'magenta') + paint(paint(req.method, 'bold'), 'magenta') + paint(' ', 'magenta') + paint(statusCode, 'bold') + ' ' + paint(' ', 'bgWhite') + paint(paint(req.url, 'black'), 'bgWhite') + paint(' ', 'bgWhite')
|
36 | );
|
37 | }
|
38 | };
|