protected function gatherRouteMiddleware(RouteContract $route): array
    {
        $middleware = [];

        self::map($route->gatherMiddleware(), function ($nameOrObject) use (&$middleware, $route): void {
            $bypass = $route->gatherDisabledMiddleware();

            if (\is_object($nameOrObject) && ! isset($bypass[\get_class($nameOrObject)])) {
                $middleware[] = $nameOrObject;
            } else {
                $middleware[] = MiddlewareNameResolver::resolve(
                    $nameOrObject,
                    $this->middleware,
                    $this->middlewareGroups,
                    $bypass
                );
            }
        });

        return (new SortedMiddleware(
            $this->middlewarePriority,
            self::flatten($middleware)
        ))->getAll();
    }
protected function gatherRouteMiddleware(RouteContract $route): array
    {
        $middleware = [];

        self::map($route->gatherMiddleware(), function ($nameOrObject) use (&$middleware, $route): void {
            $bypass = $route->gatherDisabledMiddleware();

            if (\is_object($nameOrObject) && ! isset($bypass[\get_class($nameOrObject)])) {
                $middleware[] = $nameOrObject;
            } else {
                $middleware[] = MiddlewareNameResolver::resolve(
                    $nameOrObject,
                    $this->middleware,
                    $this->middlewareGroups,
                    $bypass
                );
            }
        });

        return (new SortedMiddleware(
            $this->middlewarePriority,
            self::flatten($middleware)
        ))->getAll();
    }
protected function gatherRouteMiddleware ( RouteContract $ route ) : array { $ middleware = [ ] ; self :: map ( $ route -> gatherMiddleware ( ) , function ( $ nameOrObject ) use ( & $ middleware , $ route ) : void { $ bypass = $ route -> gatherDisabledMiddleware ( ) ; if ( \ is_object ( $ nameOrObject ) && ! isset ( $ bypass [ \ get_class ( $ nameOrObject ) ] ) ) { $ middleware [ ] = $ nameOrObject ; } else { $ middleware [ ] = MiddlewareNameResolver :: resolve ( $ nameOrObject , $ this -> middleware , $ this -> middlewareGroups , $ bypass ) ; } } ) ; return ( new SortedMiddleware ( $ this -> middlewarePriority , self :: flatten ( $ middleware ) ) ) -> getAll ( ) ; }
Gather the middleware for the given route.

@param \Viserio\Component\Contract\Routing\Route $route

@return array
Gather the middleware for the given route .