RedirectIfAuthenticated   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 35
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A handle() 0 8 2
1
<?php
2
3
/**
4
 * Storgman - Student Organizations Management
5
 * Copyright (C) 2014, Dejan Angelov <[email protected]>
6
 *
7
 * This file is part of Storgman.
8
 *
9
 * Storgman is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU General Public License as published by
11
 * the Free Software Foundation, either version 3 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * Storgman is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with Storgman.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 * @package Storgman
23
 * @copyright Copyright (C) 2014, Dejan Angelov <[email protected]>
24
 * @license https://github.com/angelov/storgman/blob/master/LICENSE
25
 * @author Dejan Angelov <[email protected]>
26
 */
27
28
namespace Angelov\Storgman\Members\Authentication\Http\Middleware;
29
30
use Closure;
31
use Illuminate\Contracts\Auth\Guard;
32
use Illuminate\Http\RedirectResponse;
33
34
class RedirectIfAuthenticated
35
{
36
    /**
37
     * The Guard implementation.
38
     *
39
     * @var Guard
40
     */
41
    protected $auth;
42
43
    /**
44
     * Create a new filter instance.
45
     *
46
     * @param  Guard  $auth
47
     */
48
    public function __construct(Guard $auth)
49
    {
50
        $this->auth = $auth;
51
    }
52
53
    /**
54
     * Handle an incoming request.
55
     *
56
     * @param  \Illuminate\Http\Request  $request
57
     * @param  \Closure  $next
58
     * @return mixed
59
     */
60
    public function handle($request, Closure $next)
61
    {
62
        if ($this->auth->check()) {
63
            return new RedirectResponse(url('/'));
0 ignored issues
show
Bug introduced by
It seems like url('/') targeting url() can also be of type object<Illuminate\Contracts\Routing\UrlGenerator>; however, Symfony\Component\HttpFo...Response::__construct() does only seem to accept string, maybe add an additional type check?

This check looks at variables that are passed out again to other methods.

If the outgoing method call has stricter type requirements than the method itself, an issue is raised.

An additional type check may prevent trouble.

Loading history...
64
        }
65
66
        return $next($request);
67
    }
68
}
69