public function testCreate() { $this->_expectedObject = $this->getMockBuilder('\\Magento\\Framework\\App\\ResponseInterface')->getMock(); $arguments = [['property' => 'value']]; $this->_objectManagerMock->expects($this->once())->method('create')->with('Magento\\Framework\\App\\ResponseInterface', $arguments)->will($this->returnValue($this->_expectedObject)); $this->assertEquals($this->_expectedObject, $this->_model->create($arguments)); }
/** * Auto-redirect to base url (without SID) if the requested url doesn't match it. * By default this feature is enabled in configuration. * * @param \Magento\Framework\App\FrontController $subject * @param callable $proceed * @param \Magento\Framework\App\RequestInterface $request * * @return \Magento\Framework\App\ResponseInterface * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function aroundDispatch(\Magento\Framework\App\FrontController $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request) { if (!$request->isPost() && $this->_isBaseUrlCheckEnabled()) { $baseUrl = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB, $this->_storeManager->getStore()->isCurrentlySecure()); if ($baseUrl) { $uri = parse_url($baseUrl); if (!$this->_isBaseUrlCorrect($uri, $request)) { $redirectUrl = $this->_url->getRedirectUrl($this->_url->getUrl(ltrim($request->getPathInfo(), '/'), ['_nosid' => true])); $redirectCode = (int) $this->_scopeConfig->getValue('web/url/redirect_to_base', \Magento\Store\Model\ScopeInterface::SCOPE_STORE) !== 301 ? 302 : 301; $response = $this->_responseFactory->create(); $response->setRedirect($redirectUrl, $redirectCode); return $response; } } } $request->setDispatched(false); return $proceed($request); }
/** * Check that request uses https protocol if it should. * Function redirects user to correct URL if needed. * * @param \Magento\Framework\App\RequestInterface $request * @param string $path * @return void */ protected function _checkShouldBeSecure(\Magento\Framework\App\RequestInterface $request, $path = '') { if ($request->getPost()) { return; } if ($this->_shouldBeSecure($path) && !$request->isSecure()) { $url = $this->_getCurrentSecureUrl($request); if ($this->_shouldRedirectToSecure()) { $url = $this->_url->getRedirectUrl($url); } $this->_responseFactory->create()->setRedirect($url)->sendResponse(); exit; } }