Completed
Push — master ( bf6805...5227c9 )
by Maxime
07:09
created

Cache::handle()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
c 0
b 0
f 0
rs 9.4285
cc 2
eloc 8
nc 2
nop 2
1
<?php
2
3
namespace Distilleries\Expendable\Http\Middleware;
4
5
use Closure;
6
7
class Cache
8
{
9
    /**
10
     * Handle an incoming request.
11
     *
12
     * @param \Illuminate\Http\Request $request
13
     * @param \Closure $next
14
     * @return mixed
15
     */
16
    public function handle($request, Closure $next)
17
    {
18
        if (config('cache.enabled') === true) {
19
            $url = $request->url();
20
21
            $key = md5($url . json_encode($request->query()));
22
            $value = \Cache::remember($key, config('cache.minutes'), function () use ($next, $request) {
23
                return $next($request);
24
            });
25
26
            return $value;
27
        }
28
29
        return $next($request);
30
    }
31
}