diff --git a/src/Illuminate/Session/Middleware/StartSession.php b/src/Illuminate/Session/Middleware/StartSession.php index 955486f2f6c3..c702d920473b 100644 --- a/src/Illuminate/Session/Middleware/StartSession.php +++ b/src/Illuminate/Session/Middleware/StartSession.php @@ -5,6 +5,7 @@ use Closure; use Illuminate\Contracts\Session\Session; use Illuminate\Http\Request; +use Illuminate\Routing\Route; use Illuminate\Session\SessionManager; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Date; @@ -56,7 +57,7 @@ public function handle($request, Closure $next) $session = $this->getSession($request); if ($this->manager->shouldBlock() || - ($request->route() && $request->route()->locksFor())) { + ($request->route() instanceof Route && $request->route()->locksFor())) { return $this->handleRequestWhileBlocking($request, $session, $next); } else { return $this->handleStatefulRequest($request, $session, $next); @@ -73,6 +74,10 @@ public function handle($request, Closure $next) */ protected function handleRequestWhileBlocking(Request $request, $session, Closure $next) { + if (! $request->route() instanceof Route) { + return; + } + $lockFor = $request->route() && $request->route()->locksFor() ? $request->route()->locksFor() : 10; @@ -195,7 +200,7 @@ protected function configHitsLottery(array $config) protected function storeCurrentUrl(Request $request, $session) { if ($request->method() === 'GET' && - $request->route() && + $request->route() instanceof Route && ! $request->ajax() && ! $request->prefetch()) { $session->setPreviousUrl($request->fullUrl());