route(); if ($this->routeHasMiddleware($route, 'universal')) { return $next($request); } if (in_array($request->getHost(), config('tenancy.central_domains'), true)) { $abortRequest = static::$abortRequest ?? function () { abort(404); }; return $abortRequest($request, $next); } return $next($request); } protected function routeHasMiddleware(Route $route, string $middleware): bool { /** @var array $routeMiddleware */ $routeMiddleware = $route->middleware(); if (in_array($middleware, $routeMiddleware, 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; } }