Handler::render()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 3
rs 10
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