Mercurial > hg > isophonics-drupal-site
view core/modules/hal/src/LinkManager/LinkManagerBase.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line source
<?php namespace Drupal\hal\LinkManager; /** * Defines an abstract base-class for HAL link manager objects. */ abstract class LinkManagerBase { /** * Link domain used for type links URIs. * * @var string */ protected $linkDomain; /** * Config factory service. * * @var \Drupal\Core\Config\ConfigFactoryInterface */ protected $configFactory; /** * The request stack. * * @var \Symfony\Component\HttpFoundation\RequestStack */ protected $requestStack; /** * {@inheritdoc} */ public function setLinkDomain($domain) { $this->linkDomain = rtrim($domain, '/'); return $this; } /** * Gets the link domain. * * @return string * The link domain. */ protected function getLinkDomain() { if (empty($this->linkDomain)) { if ($domain = $this->configFactory->get('hal.settings')->get('link_domain')) { $this->linkDomain = rtrim($domain, '/'); } else { $request = $this->requestStack->getCurrentRequest(); $this->linkDomain = $request->getSchemeAndHttpHost() . $request->getBasePath(); } } return $this->linkDomain; } }