/**
  * (non-PHPdoc)
  * 
  * @see \Zend\Http\Request::setUri()
  */
 public function setUri($uri = null)
 {
     parent::setUri($this->targetServer->getUri());
     $this->uri->setPath(self::API_URI . $this->action);
 }
Exemplo n.º 2
0
 /**
  * Manage API Key usage and define HTTP client
  *
  * @param  MvcEvent                                 $event
  * @throws \Zend\Console\Exception\RuntimeException
  */
 public function preDispatch(MvcEvent $event)
 {
     $match = $event->getRouteMatch();
     if (!$match) {
         return;
     }
     $routeName = $match->getMatchedRouteName();
     $serviceManager = $event->getApplication()->getServiceManager();
     $config = $serviceManager->get('config');
     $targetConfig = $serviceManager->get('targetConfig');
     $httpConfig = $config['zsapi']['client'];
     if (!empty($targetConfig['http'])) {
         foreach ($targetConfig['http'] as $k => $v) {
             $httpConfig[$k] = $v;
         }
     }
     $zendServerClient = new Model\Http\Client(null, $httpConfig);
     $serviceManager->setService('zendServerClient', $zendServerClient);
     $defaultApiKey = new ApiKey($targetConfig['zskey'], $targetConfig['zssecret']);
     $serviceManager->setService('defaultApiKey', $defaultApiKey);
     $apiVersion = $config['min-zsversion'];
     $noTarget = @$config['console']['router']['routes'][$routeName]['options']['no-target'];
     $detectApiVersion = !$noTarget;
     if (empty($targetConfig['zsversion'])) {
         $targetConfig['zsversion'] = array_shift($config['min-zsversion']);
     }
     ZendServer::setApiVersionConf($config['min-zsversion']);
     $targetServer = ZendServer::factory($targetConfig);
     $serviceManager->setService('targetZendServer', $targetServer);
     if ($detectApiVersion) {
         // auto-detect the version
         $apiManager = $serviceManager->get('zend_server_api');
         $versions = $apiManager->getSupportedVersions();
         $apiVersion = $versions[2][0];
         $targetServer->setApiVersion($apiVersion);
     }
 }