diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index a56989b..2f96477 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,7 +2,11 @@ namespace App\Exceptions; +use Exception; use Throwable; +use Illuminate\Http\Request; +use App\Http\Middleware\HandleInertiaRequests; +use Symfony\Component\HttpFoundation\Response; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; class Handler extends ExceptionHandler @@ -29,10 +33,10 @@ class Handler extends ExceptionHandler /** * Report or log an exception. * - * @param \Throwable $exception + * @param Throwable $exception * @return void * - * @throws \Exception + * @throws Exception */ public function report(Throwable $exception) { @@ -42,24 +46,20 @@ class Handler extends ExceptionHandler /** * Render an exception into an HTTP response. * - * @param \Illuminate\Http\Request $request - * @param \Throwable $exception - * @return \Symfony\Component\HttpFoundation\Response + * @param Request $request + * @param Throwable $exception + * @return Response * - * @throws \Throwable + * @throws Throwable */ public function render($request, Throwable $exception) { $response = parent::render($request, $exception); - if (in_array($response->status(), [404, 403])) { - \Route::any($request->path(), function () use ($exception, $request) { - return parent::render($request, $exception); - })->middleware('web'); - - return inertia()->render('Errors/' . $response->status(), ['status' => $response->status()]) - ->toResponse($request) - ->setStatusCode($response->status()); + if (in_array($response->status(), [403, 404])) { + return app(HandleInertiaRequests::class) + ->handle($request, fn () => inertia()->render('Errors/' . $response->status(), ['status' => $response->status()]) + ->toResponse($request)); } return $response; diff --git a/app/Http/Controllers/Profile/ProfileController.php b/app/Http/Controllers/Profile/ProfileController.php index 11e06c5..fee183a 100644 --- a/app/Http/Controllers/Profile/ProfileController.php +++ b/app/Http/Controllers/Profile/ProfileController.php @@ -2,10 +2,11 @@ namespace App\Http\Controllers\Profile; -use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\UserProfileRequest; use App\Http\Resources\UserProfileResource; +use App\Models\User; +use Illuminate\Http\Request; class ProfileController extends Controller { @@ -40,7 +41,7 @@ class ProfileController extends Controller public function destroy(Request $request) { - /* @var $user \App\Models\User */ + /* @var $user User */ $user = $request->user(); $user->sites()->detach(); diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index bd1a0a4..975b261 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -75,7 +75,7 @@ class HandleInertiaRequests extends Middleware ], 'can' => $can, 'integrations' => [ - 'cloudflare' => (bool)auth()->user() ? auth()->user()->providers()->where('type', UserProvider::TYPE_CLOUDFLARE)->count() : false, + 'cloudflare' => (bool) auth()->user() ? auth()->user()->providers()->where('type', UserProvider::TYPE_CLOUDFLARE)->count() : false, ] ]; },