ImpersonationNotAllowed::handle()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

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