Example #1
0
 /**
  * @dataProvider isSecureDataProvider
  *
  * @param bool $isSecure expected output of isSecure method
  * @param string $serverHttps value of $_SERVER['HTTPS']
  * @param string $headerOffloadKey <Name-Of-Offload-Header>
  * @param string $headerOffloadValue value of $_SERVER[<Name-Of-Offload-Header>]
  * @param int $configCall number of times config->getValue is expected to be called
  */
 public function testIsSecure($isSecure, $serverHttps, $headerOffloadKey, $headerOffloadValue, $configCall)
 {
     $this->_model = $this->getModel();
     $configOffloadHeader = 'Header-From-Proxy';
     $configMock = $this->getMockBuilder('Magento\\Framework\\App\\Config')->disableOriginalConstructor()->setMethods(['getValue'])->getMock();
     $configMock->expects($this->exactly($configCall))->method('getValue')->with(\Magento\Framework\App\Request\Http::XML_PATH_OFFLOADER_HEADER, ScopeConfigInterface::SCOPE_TYPE_DEFAULT)->willReturn($configOffloadHeader);
     $this->objectManager->expects($this->exactly($configCall))->method('get')->with('Magento\\Framework\\App\\Config')->will($this->returnValue($configMock));
     $this->_model->getServer()->set($headerOffloadKey, $headerOffloadValue);
     $this->_model->getServer()->set('HTTPS', $serverHttps);
     $this->assertSame($isSecure, $this->_model->isSecure());
 }
Example #2
0
 /**
  * Get theme that should be applied for current user-agent according to design exceptions configuration
  *
  * @param \Magento\Framework\App\Request\Http $request
  * @return string|bool
  */
 public function getThemeByRequest(\Magento\Framework\App\Request\Http $request)
 {
     $userAgent = $request->getServer('HTTP_USER_AGENT');
     if (empty($userAgent)) {
         return false;
     }
     $expressions = $this->scopeConfig->getValue($this->exceptionConfigPath, $this->scopeType);
     if (!$expressions) {
         return false;
     }
     $expressions = unserialize($expressions);
     foreach ($expressions as $rule) {
         if (preg_match($rule['regexp'], $userAgent)) {
             return $rule['value'];
         }
     }
     return false;
 }