Exemple #1
0
 /**
  * Dispatches a request.
  *
  * @param RequestContextInterface $request
  * @param MatchContextInterface $match
  *
  * @return mixed the request response.
  */
 public function dispatchMatch(MatchContextInterface $match)
 {
     // store the previous request context.
     $request = $this->url->getRequestContext();
     $this->url->setRequestContext($match->getRequest());
     $this->routeStack->push($match->getName());
     $response = $this->mapper->mapResponse($this->dispatcher->dispatch($match));
     $this->routeStack->pop();
     // restore the previous request context.
     if (null !== $request) {
         $this->url->setRequestContext($request);
     }
     return $response;
 }
Exemple #2
0
 /**
  * {@inheritdoc}
  */
 public function dispatch(Match $context)
 {
     $args = $this->mapper->map($handler = $this->resolver->resolve($context->getHandler()), $context->getVars());
     return $handler->invokeArgs($args);
 }