/** * Show/return documentation * * Returns a ContentNegotiation view model to allow for multiple * representations of documentation. * * @return ViewModel */ public function showAction() { $apiName = $this->params()->fromRoute('api'); $apiVersion = $this->params()->fromRoute('version', '1'); $serviceName = $this->params()->fromRoute('service'); $viewModel = new ViewModel(); $viewModel->setTemplate('zf-apigility-documentation/show'); $viewModel->setVariable('baseUrl', $this->serverUrlViewHelper->__invoke()); if (!$apiName) { $apiList = $this->apiFactory->createApiList(); $viewModel->setVariable('apis', $apiList); $viewModel->setVariable('type', 'apiList'); return $viewModel; } $api = $this->apiFactory->createApi($apiName, $apiVersion); if (!$serviceName) { $viewModel->setVariable('documentation', $api); $viewModel->setVariable('type', 'api'); return $viewModel; } $service = $this->apiFactory->createService($api, $serviceName); $viewModel->setVariable('documentation', $service); $viewModel->setVariable('type', 'service'); return $viewModel; }
public function setUp() { $this->controller = $controller = new ResourceController(); $this->router = $router = new SimpleRouteStack(); $route = new Segment('/resource[/[:id]]'); $router->addRoute('resource', $route); $this->event = $event = new MvcEvent(); $event->setRouter($router); $event->setRouteMatch(new RouteMatch(array())); $controller->setEvent($event); $controller->setRoute('resource'); $pluginManager = new PluginManager(); $controller->setPluginManager($pluginManager); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new Plugin\HalLinks(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $pluginManager->setService('HalLinks', $linksHelper); $linksHelper->setController($controller); $this->resource = $resource = new Resource(); $controller->setResource($resource); }
public function setUp() { $routerClass = class_exists(V2TreeRouteStack::class) ? V2TreeRouteStack::class : TreeRouteStack::class; $routeClass = class_exists(V2Segment::class) ? V2Segment::class : Segment::class; $this->router = $router = new $routerClass(); $route = new $routeClass('/resource[/[:id]]'); $router->addRoute('resource', $route); $route2 = new $routeClass('/help'); $router->addRoute('docs', $route2); $router->addRoute('hostname', ['type' => 'hostname', 'options' => ['route' => 'localhost.localdomain'], 'child_routes' => ['resource' => ['type' => 'segment', 'options' => ['route' => '/resource[/:id]'], 'may_terminate' => true, 'child_routes' => ['children' => ['type' => 'literal', 'options' => ['route' => '/children']]]], 'users' => ['type' => 'segment', 'options' => ['route' => '/users[/:id]']], 'contacts' => ['type' => 'segment', 'options' => ['route' => '/contacts[/:id]']], 'embedded' => ['type' => 'segment', 'options' => ['route' => '/embedded[/:id]']], 'embedded_custom' => ['type' => 'segment', 'options' => ['route' => '/embedded_custom[/:custom_id]']]]]); $this->event = $event = new MvcEvent(); $event->setRouter($router); $router->setRequestUri(new Http('http://localhost.localdomain/resource')); $controller = $this->controller = $this->prophesize(AbstractRestfulController::class); $controller->getEvent()->willReturn($event); $this->urlHelper = $urlHelper = new UrlHelper(); $urlHelper->setRouter($router); $this->serverUrlHelper = $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $this->plugin = $plugin = new HalHelper(); $plugin->setController($controller->reveal()); $linkUrlBuilder = new LinkUrlBuilder($serverUrlHelper, $urlHelper); $plugin->setLinkUrlBuilder($linkUrlBuilder); $linkExtractor = new LinkExtractor($linkUrlBuilder); $linkCollectionExtractor = new LinkCollectionExtractor($linkExtractor); $plugin->setLinkCollectionExtractor($linkCollectionExtractor); }
public function setUp() { $this->controller = $controller = new RestController(); $this->router = $router = new SimpleRouteStack(); $route = new Segment('/resource[/[:id]]'); $router->addRoute('resource', $route); $this->event = $event = new MvcEvent(); $event->setRouter($router); $event->setRouteMatch(new RouteMatch([])); $controller->setEvent($event); $controller->setRoute('resource'); $pluginManager = new PluginManager(); $pluginManager->setService('bodyParams', new BodyParams()); $controller->setPluginManager($pluginManager); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $linkExtractor = new LinkExtractor($serverUrlHelper, $urlHelper); $linkCollectionExtractor = new LinkCollectionExtractor($linkExtractor); $linksHelper->setLinkCollectionExtractor($linkCollectionExtractor); $pluginManager->setService('Hal', $linksHelper); $linksHelper->setController($controller); $this->resource = $resource = new Resource(); $controller->setResource($resource); }
public function setUp() { $this->router = $router = new TreeRouteStack(); $route = new Segment('/resource[/[:id]]'); $router->addRoute('resource', $route); $route2 = new Segment('/help'); $router->addRoute('docs', $route2); $router->addRoute('hostname', ['type' => 'hostname', 'options' => ['route' => 'localhost.localdomain'], 'child_routes' => ['resource' => ['type' => 'segment', 'options' => ['route' => '/resource[/:id]'], 'may_terminate' => true, 'child_routes' => ['children' => ['type' => 'literal', 'options' => ['route' => '/children']]]], 'users' => ['type' => 'segment', 'options' => ['route' => '/users[/:id]']], 'contacts' => ['type' => 'segment', 'options' => ['route' => '/contacts[/:id]']], 'embedded' => ['type' => 'segment', 'options' => ['route' => '/embedded[/:id]']], 'embedded_custom' => ['type' => 'segment', 'options' => ['route' => '/embedded_custom[/:custom_id]']]]]); $this->event = $event = new MvcEvent(); $event->setRouter($router); $router->setRequestUri(new Http('http://localhost.localdomain/resource')); $controller = $this->controller = $this->getMock('Zend\\Mvc\\Controller\\AbstractRestfulController'); $controller->expects($this->any())->method('getEvent')->will($this->returnValue($event)); $this->urlHelper = $urlHelper = new UrlHelper(); $urlHelper->setRouter($router); $this->serverUrlHelper = $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $this->plugin = $plugin = new HalHelper(); $plugin->setController($controller); $plugin->setUrlHelper($urlHelper); $plugin->setServerUrlHelper($serverUrlHelper); $linkExtractor = new LinkExtractor($serverUrlHelper, $urlHelper); $linkCollectionExtractor = new LinkCollectionExtractor($linkExtractor); $plugin->setLinkCollectionExtractor($linkCollectionExtractor); }
public function setupHelpers() { if (!$this->router) { $this->setupRouter(); } $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('hal', $linksHelper); $this->plugins = $plugins = new ControllerPluginManager(); $plugins->setService('hal', $linksHelper); }
public function setUpHelpers() { if (isset($this->helpers)) { return; } $this->setupRouter(); $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $this->linksHelper = $linksHelper = new HalHelper(); $linksHelper->setUrlHelper($urlHelper); $linksHelper->setServerUrlHelper($serverUrlHelper); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('hal', $linksHelper); }
public function __invoke($tld = null) { $currentServerUrl = parent::__invoke(null); if (!$tld) { return $currentServerUrl; } $tld = str_replace('.', '', $tld); $tld = '.' . $tld; $uri = parse_url($currentServerUrl); $uri['host'] = preg_replace('#\\.([a-z]+)$#', $tld, $uri['host'], 1); return $uri['scheme'] . '://' . $uri['host']; }
public function setupHelpers() { if (!$this->router) { $this->setupRouter(); } $urlHelper = new UrlHelper(); $urlHelper->setRouter($this->router); $serverUrlHelper = new ServerUrlHelper(); $serverUrlHelper->setScheme('http'); $serverUrlHelper->setHost('localhost.localdomain'); $propertiesHelper = new JsonLDHelper(); $propertiesHelper->setUrlHelper($urlHelper); $propertiesHelper->setServerUrlHelper($serverUrlHelper); $propertyExtractor = new PropertyExtractor($serverUrlHelper, $urlHelper); $propertyCollectionExtractor = new PropertyCollectionExtractor($propertyExtractor); $propertiesHelper->setPropertyCollectionExtractor($propertyCollectionExtractor); $this->helpers = $helpers = new HelperPluginManager(); $helpers->setService('url', $urlHelper); $helpers->setService('serverUrl', $serverUrlHelper); $helpers->setService('JsonLD', $propertiesHelper); $this->plugins = $plugins = new ControllerPluginManager(); $plugins->setService('JsonLD', $propertiesHelper); }
public function testServerUrlWithObject() { $_SERVER['HTTPS'] = 'off'; $_SERVER['HTTP_HOST'] = 'example.com'; $_SERVER['REQUEST_URI'] = '/foo.html'; $url = new Helper\ServerUrl(); $this->assertEquals('http://example.com', $url->__invoke(new \stdClass())); }
/** * Retorna a url atual. * * @return String */ public function getCurrentUrl() { $serverUrl = new ServerUrl(); $currentUrl = $serverUrl->__invoke(true); return $currentUrl; }
/** * @group ZF2-508 */ public function testServerUrlWithMultipleProxies() { $_SERVER['HTTP_HOST'] = 'proxyserver.com'; $_SERVER['HTTP_X_FORWARDED_HOST'] = 'www.firsthost.org, www.secondhost.org'; $url = new Helper\ServerUrl(); $this->assertEquals('http://www.secondhost.org', $url->__invoke()); }
public function testCanUseXForwardedPortIfProvided() { $_SERVER['HTTP_HOST'] = 'proxyserver.com'; $_SERVER['HTTP_X_FORWARDED_HOST'] = 'www.firsthost.org, www.secondhost.org'; $_SERVER['HTTP_X_FORWARDED_PORT'] = '8888'; $url = new Helper\ServerUrl(); $url->setUseProxy(true); $this->assertEquals('http://www.secondhost.org:8888', $url->__invoke()); }
/** * @param ServerUrl $serverUrlHelper * @param ModuleOptions $moduleOptions */ protected function injectServerUrl(ServerUrl $serverUrlHelper, ModuleOptions $moduleOptions) { $options = parse_url($moduleOptions->getLocation()); $serverUrlHelper->setScheme($options['scheme']); $serverUrlHelper->setHost($options['host']); }
/** * @group ZF-9919 */ public function testServerUrlWithPort() { $_SERVER['SERVER_PORT'] = 443; $_SERVER['HTTP_HOST'] = 'example.com'; $url = new Helper\ServerUrl(); $this->assertEquals('https://example.com', $url->__invoke()); }
/** * Get Base Host Url. * * * @return string */ private function getBaseUrl() { $helper = new ServerUrl(); return $helper->__invoke(false); }