Tracking::handle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 6
ccs 3
cts 3
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 2
crap 1
1
<?php namespace Arcanedev\LaravelTracker\Middleware;
2
3
use Arcanedev\LaravelTracker\Contracts\Tracker;
4
use Closure;
5
6
/**
7
 * Class     Tracking
8
 *
9
 * @package  Arcanedev\LaravelTracker\Middleware
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
class Tracking
13
{
14
    /* -----------------------------------------------------------------
15
     |  Properties
16
     | -----------------------------------------------------------------
17
     */
18
19
    /**
20
     * The tracker instance.
21
     *
22
     * @var  \Arcanedev\LaravelTracker\Contracts\Tracker
23
     */
24
    protected $tracker;
25
26
    /* -----------------------------------------------------------------
27
     |  Constructor
28
     | -----------------------------------------------------------------
29
     */
30
31
    /**
32
     * Tracking constructor.
33
     *
34
     * @param  \Arcanedev\LaravelTracker\Contracts\Tracker  $tracker
35
     */
36 6
    public function __construct(Tracker $tracker)
37
    {
38 6
        $this->tracker = $tracker;
39 6
    }
40
41
    /* -----------------------------------------------------------------
42
     |  Main Functions
43
     | -----------------------------------------------------------------
44
     */
45
46
    /**
47
     * Handle the incoming request.
48
     *
49
     * @param \Illuminate\Http\Request  $request
50
     * @param \Closure                  $next
51
     *
52
     * @return mixed
53
     */
54 6
    public function handle($request, Closure $next)
55
    {
56 6
        $this->tracker->trackRequest($request);
57
58 6
        return $next($request);
59
    }
60
}
61