Completed
Pull Request — master (#31)
by Gerardo
01:14
created

DefaultLogResponseWriter::logResponse()   B

Complexity

Conditions 6
Paths 8

Size

Total Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 32
rs 8.7857
c 0
b 0
f 0
cc 6
nc 8
nop 2
1
<?php
2
3
namespace Spatie\HttpLogger;
4
5
use Exception;
6
use Illuminate\Http\Request;
7
use Illuminate\Http\Response as HtmlResponse;
8
use Illuminate\Http\JsonResponse;
9
use JsonSerializable;
10
use stdClass;
11
use Illuminate\Support\Collection;
12
use Illuminate\Support\Facades\Log;
13
use Illuminate\Contracts\Support\Arrayable;
14
use Illuminate\Contracts\Support\Jsonable;
15
use Symfony\Component\HttpFoundation\Response;
16
17
class DefaultLogResponseWriter implements LogResponseWriter
18
{
19
    public function logResponse(Request $request, Response $response)
20
    {
21
        $method = strtoupper($request->getMethod());
22
23
        $uri = $request->getPathInfo();
24
25
        $message = "{$method} {$uri} - ResponseBody: {}";
26
27
        try {
28
            if ($response instanceof Response) {
29
                if ($response->getStatusCode() == 200 ) {
30
                    if ($response instanceof JsonResponse) {
31
                        $body = json_encode($response->getData());
32
                    } else if ($response instanceof HtmlResponse) {
33
                        $body = $response->getContent();
34
                    } else {
35
                        $body = $response;
36
                    }
37
38
                    $message = "{$method} {$uri} - ResponseBody: {$body}";
39
                }
40
                else {
41
                    $message = "{$method} {$uri} - ResponseBodyCode: {$response->getStatusCode()}";
42
                }
43
            }
44
        }
45
        catch(Exception $e) {
0 ignored issues
show
Coding Style Comprehensibility introduced by
Consider adding a comment why this CATCH block is empty.
Loading history...
46
47
        }
48
49
        Log::info($message);
50
    }
51
}
52