coreConfig = $coreConfig; $this->backendConfig = $backendConfig; $this->url = $url; } /** * @inheritdoc */ public function getCurrentSecureUrl(\Magento\Framework\App\RequestInterface $request) { return $this->url->getBaseUrl('link', true) . ltrim($request->getPathInfo(), '/'); } /** * @inheritdoc */ public function shouldBeSecure($path) { $baseUrl = (string)$this->coreConfig->getValue(Store::XML_PATH_UNSECURE_BASE_URL, 'default'); if (parse_url($baseUrl, PHP_URL_SCHEME) === 'https') { return true; } if ($this->backendConfig->isSetFlag(Store::XML_PATH_SECURE_IN_ADMINHTML)) { if ($this->backendConfig->isSetFlag('admin/url/use_custom')) { $adminBaseUrl = (string)$this->coreConfig->getValue('admin/url/custom', 'default'); } else { $adminBaseUrl = (string)$this->coreConfig->getValue(Store::XML_PATH_SECURE_BASE_URL, 'default'); } return parse_url($adminBaseUrl, PHP_URL_SCHEME) === 'https'; } return false; } /** * @inheritdoc */ public function getDefaultPath() { return $this->backendConfig->getValue('web/default/admin'); } }