Handler   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 66
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 16
c 2
b 1
f 0
dl 0
loc 66
rs 10
wmc 6

3 Methods

Rating   Name   Duplication   Size   Complexity  
A render() 0 3 1
A report() 0 3 1
A unauthenticated() 0 13 4
1
<?php
2
3
namespace App\Exceptions;
4
5
use Exception;
6
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
7
use Illuminate\Auth\AuthenticationException;
8
9
class Handler extends ExceptionHandler
10
{
11
    /**
12
     * A list of the exception types that are not reported.
13
     *
14
     * @var array
15
     */
16
    protected $dontReport = [
17
        //
18
    ];
19
20
    /**
21
     * A list of the inputs that are never flashed for validation exceptions.
22
     *
23
     * @var array
24
     */
25
    protected $dontFlash = [
26
        'password',
27
        'password_confirmation',
28
    ];
29
30
    /**
31
     * Report or log an exception.
32
     *
33
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
34
     *
35
     * @param  \Exception  $exception
36
     * @return void
37
     */
38
    public function report(Exception $exception)
39
    {
40
        parent::report($exception);
41
    }
42
43
    /**
44
     * Render an exception into an HTTP response.
45
     *
46
     * @param  \Illuminate\Http\Request  $request
47
     * @param  \Exception  $exception
48
     * @return \Illuminate\Http\Response
49
     */
50
    public function render($request, Exception $exception)
51
    {
52
        return parent::render($request, $exception);
53
    }
54
55
    /**
56
     * Convert an authentication exception into a response.
57
     *
58
     * @param  \Illuminate\Http\Request  $request
59
     * @param  \Illuminate\Auth\AuthenticationException  $exception
60
     * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
61
     */
62
    protected function unauthenticated($request, AuthenticationException $exception)
63
    {
64
        $guards = $exception->guards();
65
        $url = '/';
66
        if (array_search('admin', $guards) !== false) {
67
            $url = route('admin::login.show');
68
        } elseif (array_search('member', $guards) !== false) {
69
            $url = route('member::login.show');
70
        }
71
72
        return $request->expectsJson()
73
            ? response()->json(['message' => $exception->getMessage()], 401)
74
            : redirect()->guest($url);
75
    }
76
}
77