PATH:
home
/
rwabteecom
/
project_11
/
app
/
Exceptions
/
Editing: Handler.php
<?php namespace App\Exceptions; use App\Enums\ResponseEnum; use App\Traits\HandleApiResponseTrait; use Auth; use Illuminate\Auth\AuthenticationException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Exceptions\ThrottleRequestsException; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Response; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Throwable; class Handler extends ExceptionHandler { use HandleApiResponseTrait; protected $dontFlash = [ 'current_password', 'password', 'password_confirmation', ]; public function register(): void { $this->reportable(function (Throwable $e) { // }); $this->renderable(function (NotFoundHttpException $e, $request) { if ($request->is('api/*')) { return $this->sendFailedResponse(message: $e->getMessage()); } }); $this->renderable(function (ThrottleRequestsException $e, $request) { if ($request->is('api/*')) { return $this->sendFailedResponse(message: $e->getMessage()); } }); } protected function unauthenticated($request, AuthenticationException $exception): Response|JsonResponse|RedirectResponse { return $this->shouldReturnJson($request, $exception) ? $this->handleUnauthenticatedAPIResponse() : $this->handleUnauthenticatedFrontResponse(); } private function handleUnauthenticatedAPIResponse(): JsonResponse { return $this->sendFailedResponse(code: \Symfony\Component\HttpFoundation\Response::HTTP_UNAUTHORIZED); } private function handleUnauthenticatedFrontResponse(): RedirectResponse { if (request()->routeIs("admin.*")) { Auth::guard()->logout(); return redirect()->guest(route('admin.login')); } if (request()->routeIs("user.*")) { Auth::guard("admin")->logout(); return redirect()->guest(route('user.login')); } return redirect()->guest("/"); } protected function invalidJson($request, ValidationException $exception): JsonResponse { return $this ->sendFailedResponse( message: $exception->getMessage(), data: $exception->errors(), code: $exception->status ); } }
SAVE
CANCEL