RequestsMonitorMiddleware::handle()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 32
Code Lines 22

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 32
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 22
nc 1
nop 2
1
<?php
2
3
namespace App\Containers\Debugger\Middlewares;
4
5
use App\Containers\Debugger\Objects\Output;
6
use App\Containers\Debugger\Objects\RequestsLogger;
7
use App\Ship\Parents\Middlewares\Middleware;
8
use Closure;
9
use Illuminate\Http\Request;
10
11
/**
12
 * Class RequestsMonitorMiddleware
13
 *
14
 * @author  Mahmoud Zalt  <[email protected]>
15
 */
16
class RequestsMonitorMiddleware extends Middleware
17
{
18
19
    /**
20
     * @param \Illuminate\Http\Request $request
21
     * @param \Closure                 $next
22
     *
23
     * @return  mixed
24
     */
25
    public function handle(Request $request, Closure $next)
26
    {
27
        $response = $next($request);
28
29
        $output = new Output($request, $response);
30
31
        $output->newRequest();
32
        $output->spaceLine();
33
34
        $output->header("REQUEST INFO");
35
        $output->endpoint();
36
        $output->version();
37
        $output->ip();
38
        $output->format();
39
        $output->spaceLine();
40
41
        $output->header("USER INFO");
42
        $output->userInfo();
43
        $output->spaceLine();
44
45
        $output->header("REQUEST DATA");
46
        $output->requestData();
47
        $output->spaceLine();
48
49
        $output->header("RESPONSE DATA");
50
        $output->responseData();
51
        $output->spaceLine();
52
53
        (new RequestsLogger())->releaseOutput($output);
54
55
        return $response;
56
    }
57
}
58