3 namespace Drupal\hal\LinkManager;
6 * Defines an abstract base-class for HAL link manager objects.
8 abstract class LinkManagerBase {
11 * Link domain used for type links URIs.
15 protected $linkDomain;
18 * Config factory service.
20 * @var \Drupal\Core\Config\ConfigFactoryInterface
22 protected $configFactory;
27 * @var \Symfony\Component\HttpFoundation\RequestStack
29 protected $requestStack;
34 public function setLinkDomain($domain) {
35 $this->linkDomain = rtrim($domain, '/');
40 * Gets the link domain.
45 protected function getLinkDomain() {
46 if (empty($this->linkDomain)) {
47 if ($domain = $this->configFactory->get('hal.settings')->get('link_domain')) {
48 $this->linkDomain = rtrim($domain, '/');
51 $request = $this->requestStack->getCurrentRequest();
52 $this->linkDomain = $request->getSchemeAndHttpHost() . $request->getBasePath();
55 return $this->linkDomain;