cms-laravel/app/Http/Middleware/CheckApiErrors.php

30 lines
773 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class CheckApiErrors
{
public function handle(Request $request, Closure $next)
{
$response = $next($request);
if ($response->exception) {
$error = $response->exception;
if ($error->getCode() === 401) {
Session::forget('token');
return redirect()->route('login')->with('error', 'Session expired. Please login again.');
} elseif ($error->getCode() === 404) {
return redirect('/404');
} else {
return redirect()->back()->with('error', $error->getMessage());
}
}
return $response;
}
}