| <?php | |
| 
 | |
| namespace App\Exceptions; | |
| 
 | |
| use Exception; | |
| use Illuminate\Auth\AuthenticationException; | |
| use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; | |
| 
 | |
| class Handler extends ExceptionHandler | |
| { | |
|     /** | |
|      * A list of the exception types that should not be reported. | |
|      * | |
|      * @var array | |
|      */ | |
|     protected $dontReport = [ | |
|         \Illuminate\Auth\AuthenticationException::class, | |
|         \Illuminate\Auth\Access\AuthorizationException::class, | |
|         \Symfony\Component\HttpKernel\Exception\HttpException::class, | |
|         \Illuminate\Database\Eloquent\ModelNotFoundException::class, | |
|         \Illuminate\Session\TokenMismatchException::class, | |
|         \Illuminate\Validation\ValidationException::class, | |
|     ]; | |
| 
 | |
|     /** | |
|      * Report or log an exception. | |
|      * | |
|      * This is a great spot to send exceptions to Sentry, Bugsnag, etc. | |
|      * | |
|      * @param  \Exception  $exception | |
|      * @return void | |
|      */ | |
|     public function report(Exception $exception) | |
|     { | |
|         parent::report($exception); | |
|     } | |
| 
 | |
|     /** | |
|      * Render an exception into an HTTP response. | |
|      * | |
|      * @param  \Illuminate\Http\Request  $request | |
|      * @param  \Exception  $exception | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function render($request, Exception $exception) | |
|     { | |
|         return parent::render($request, $exception); | |
|     } | |
| 
 | |
|     /** | |
|      * Convert an authentication exception into an unauthenticated response. | |
|      * | |
|      * @param  \Illuminate\Http\Request  $request | |
|      * @param  \Illuminate\Auth\AuthenticationException  $exception | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     protected function unauthenticated($request, AuthenticationException $exception) | |
|     { | |
|         if ($request->expectsJson()) { | |
|             return response()->json(['error' => 'Unauthenticated.'], 401); | |
|         } | |
| 
 | |
|         return redirect()->guest(route('login')); | |
|     } | |
| }
 |