public function dispatch(RequestInterface $request) { $flow = new Flow($this->selectMiddleware($request)); if (isset($this->logger)) { $flow->setLogger($this->logger); } return $flow->flow(); }
public function dispatch(RequestInterface $request) { if ($this->logger) { $this->logger->info(sprintf('Handling request "%s %s"', $request->getMethod(), $request->getUri()->getPath())); } $middleware = array(); foreach (array_reverse($this->layers) as $layer) { if ($layerMiddleware = $layer->selectMiddleware($request)) { $middleware = array_merge($middleware, $layerMiddleware); } } $flow = new Flow($middleware); if (isset($this->logger)) { $flow->setLogger($this->logger); } return $flow->flow(); }