route(), static::$middlewareGroup)) { return $next($request); } if ($originalOnFail) { return $originalOnFail($exception, $request, $next); } throw $exception; }; } } public static function routeHasMiddleware(Route $route, $middleware): bool { if (in_array($middleware, $route->middleware(), true)) { return true; } // Loop one level deep and check if the route's middleware // groups have the searched middleware group inside them $middlewareGroups = Router::getMiddlewareGroups(); foreach ($route->gatherMiddleware() as $inner) { if (! $inner instanceof Closure && isset($middlewareGroups[$inner]) && in_array($middleware, $middlewareGroups[$inner], true)) { return true; } } return false; } }