/** * (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); }
/** * 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); } }