src/Arhitect/Middleware/Pipe.php
public function pipe(array $middlewareList)
    {
        $lastCallable = function (Command $command) {
            // the final callable is a no-op
        };

        $locator = $this->middlewareLocator;

        while ($handler = array_pop($middlewareList)) {
            $lastCallable = function (Command $command) use ($handler, $lastCallable, $locator) {

                $handler = $locator->locate($handler);

                if ($handler instanceof HttpKernelInterface) {
                    $handler->handle($command);
                    return $lastCallable($command);
                }

                return $handler->handle($command, $lastCallable);
            };
        }

        return $lastCallable;
    }
public function pipe(array $middlewareList)
    {
        $lastCallable = function (Command $command) {
            // the final callable is a no-op
        };

        $locator = $this->middlewareLocator;

        while ($handler = array_pop($middlewareList)) {
            $lastCallable = function (Command $command) use ($handler, $lastCallable, $locator) {

                $handler = $locator->locate($handler);

                if ($handler instanceof HttpKernelInterface) {
                    $handler->handle($command);
                    return $lastCallable($command);
                }

                return $handler->handle($command, $lastCallable);
            };
        }

        return $lastCallable;
    }
public function pipe ( array $ middlewareList ) { $ lastCallable = function ( Command $ command ) { // the final callable is a no-op } ; $ locator = $ this -> middlewareLocator ; while ( $ handler = array_pop ( $ middlewareList ) ) { $ lastCallable = function ( Command $ command ) use ( $ handler , $ lastCallable , $ locator ) { $ handler = $ locator -> locate ( $ handler ) ; if ( $ handler instanceof HttpKernelInterface ) { $ handler -> handle ( $ command ) ; return $ lastCallable ( $ command ) ; } return $ handler -> handle ( $ command , $ lastCallable ) ; } ; } return $ lastCallable ; }
@param array $middlewareList

@return \Closure
@param array $middlewareList