Esempio n. 1
0
 /**
  * Use the action collaborators to get a response.
  *
  * @param  Action                 $action
  * @param  ServerRequestInterface $request
  * @param  ResponseInterface     $response
  * @return ResponseInterface
  */
 private function getResponse(Action $action, ServerRequestInterface $request, ResponseInterface $response)
 {
     $domain = $this->resolve($action->getDomain());
     $input = $this->resolve($action->getInput());
     $responder = $this->resolve($action->getResponder());
     $payload = $this->getPayload($domain, $input, $request);
     $response = $this->getResponseForPayload($responder, $request, $response, $payload);
     return $response;
 }
Esempio n. 2
0
 public function handle(Action $action, Request $request, Response $response)
 {
     $responder = $this->resolve($action->getResponder());
     $domainSpec = $action->getDomain();
     if (!$domainSpec) {
         return $responder($request, $response);
     }
     $domain = $this->resolve($domainSpec);
     $params = $this->params($action, $request);
     $payload = call_user_func_array($domain, $params);
     return $responder($request, $response, $payload);
 }