TrackTrafficMiddleware   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 8
Bugs 0 Features 0
Metric Value
wmc 2
eloc 6
c 8
b 0
f 0
dl 0
loc 26
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 17 2
1
<?php
2
3
namespace Sfneal\Tracking\Middleware;
4
5
use Closure;
6
use Illuminate\Http\Request;
7
use Sfneal\Controllers\Middleware;
8
use Sfneal\Tracking\Events\TrackTrafficEvent;
9
10
class TrackTrafficMiddleware implements Middleware
11
{
12
    /**
13
     * Handle an incoming request.
14
     *
15
     * @param  Request  $request
16
     * @param  Closure  $next
17
     * @return mixed
18
     */
19
    public function handle(Request $request, Closure $next)
20
    {
21
        // Add unique ID to be used to relate traffic & activities
22
        $request->attributes->add(['track_traffic_token' => uniqid()]);
23
24
        // Create response
25
        $response = $next($request);
26
27
        // Check if traffic tracking is enabled
28
        if (config('tracking.traffic.track')) {
29
30
            // Fire Traffic Tracker event
31
            event(new TrackTrafficEvent($request, $response, microtime(true)));
32
        }
33
34
        // Return the response
35
        return $response;
36
    }
37
}
38