public function testExecuteWithPreventedMiddleware() { $executor = new RouteExecutor(); $response = $executor->execute($this->createRequest('GET', '/'), TestRouterExecutorController::class, 'index', [TestRouterExecutorFailMiddleware::class]); $this->assertInstanceOf(ResponseInterface::class, $response); $this->assertEquals('Fail', $response->getBody()->__toString()); $this->assertEquals(400, $response->getStatusCode()); }
/** * @param \Psr\Http\Message\ServerRequestInterface $request * @param \Wandu\Router\Contracts\ClassLoaderInterface|null $loader * @param \Wandu\Router\Contracts\ResponsifierInterface|null $responsifier * @return \Psr\Http\Message\ResponseInterface */ public function execute(ServerRequestInterface $request, ClassLoaderInterface $loader = null, ResponsifierInterface $responsifier = null) { $pipeline = new RouteExecutor($loader, $responsifier); return $pipeline->execute($request, $this->className, $this->methodName, $this->middlewares); }