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

DefaultLogResponseWriter   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 5
dl 0
loc 35
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B logResponse() 0 32 6
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