Closed alxmlk closed 6 months ago
use Illuminate\Http\Request -> use Symfony\Component\HttpFoundation\Request; use Illuminate\Http\Response -> use Symfony\Component\HttpFoundation\Response;
$exceptions->respond(
function (Response $response, Throwable $exception, Request $request) {
if (! app()->environment(['local', 'testing']) && in_array($response->getStatusCode(), [500, 503, 404, 403])) {
return Inertia::render('Error', ['status' => $response->getStatusCode()])
->toResponse($request)
->setStatusCode($response->getStatusCode());
} elseif ($response->getStatusCode() === 419) {
return back()->with([
'message' => 'The page expired, please try again.',
]);
}
return $response;
}
);
Version:
@inertiajs/vue3
version: 1.0.15laravel/framework
version: ^11.0Im using default Laravel's auth middleware. When I not authenticated and open a non-existent page, the function works fine - throws 404. But if I open an existing page, it throws:
Issue: Argument ($response) must be of type Illuminate\Http\Response, Illuminate\Http\RedirectResponse given given {"exception":"[object] (TypeError(code: 0): {closure}(): Argument #1 ($response) must be of type Illuminate\Http\Response, Illuminate\Http\RedirectResponse given at \bootstrap\app.php:36)
My bootstrap/app.php:
ForbiddenIfNotActive middleware:
Everything else is standard.
DashboardController
What could be the problem or what am I doing wrong?