Passed
Push — master ( 1d59e9...66e80e )
by Alexander
09:22 queued 07:43
created

JsonRenderer   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 69.23%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 19
ccs 9
cts 13
cp 0.6923
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A render() 0 5 1
A renderVerbose() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\ErrorHandler;
6
7
/**
8
 * Formats exception into JSON string
9
 */
10
final class JsonRenderer extends ThrowableRenderer
11
{
12
    public function render(\Throwable $t): string
13
    {
14
        return json_encode([
15
            'message' => 'An internal server error occurred',
16
        ], JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
17
    }
18
19 1
    public function renderVerbose(\Throwable $t): string
20
    {
21 1
        return json_encode([
22 1
            'type' => get_class($t),
23 1
            'message' => $t->getMessage(),
24 1
            'code' => $t->getCode(),
25 1
            'file' => $t->getFile(),
26 1
            'line' => $t->getLine(),
27 1
            'trace' => $t->getTrace(),
28 1
        ], JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
29
    }
30
}
31