147 $this->_responseFactory = $responseFactory;
148 $this->_defaultPath = $defaultPath;
149 $this->_routeConfig = $routeConfig;
181 foreach ($this->_requiredParams as $paramName) {
202 $moduleFrontName =
$request->getModuleName();
203 }
elseif (!empty($param)) {
204 $moduleFrontName = $param;
206 $moduleFrontName = $this->_defaultPath->getPart(
'module');
209 if (!$moduleFrontName) {
212 return $moduleFrontName;
224 if (
$request->getControllerName()) {
225 $actionPath =
$request->getControllerName();
226 }
elseif (!empty($param)) {
227 $actionPath = $param;
229 $actionPath = $this->_defaultPath->getPart(
'controller');
232 ltrim(
$request->getOriginalPathInfo(),
'/')
246 if (!$this->applyNoRoute) {
251 if (!$actionClassName || !
is_subclass_of($actionClassName, $this->actionInterface)) {
256 return $this->actionFactory->create($actionClassName);
271 if (empty($moduleFrontName)) {
278 $modules = $this->_routeConfig->getModulesByFrontName($moduleFrontName);
280 if (empty($modules) ===
true) {
287 $currentModuleName =
null;
290 $actionInstance =
null;
293 $action =
$request->getActionName() ?: (
$params[
'actionName'] ?: $this->_defaultPath->getPart(
'action'));
294 $this->
_checkShouldBeSecure($request,
'/' . $moduleFrontName .
'/' . $actionPath .
'/' . $action);
296 foreach ($modules as $moduleName) {
297 $currentModuleName = $moduleName;
299 $actionClassName = $this->actionList->get($moduleName, $this->pathPrefix, $actionPath, $action);
300 if (!$actionClassName || !
is_subclass_of($actionClassName, $this->actionInterface)) {
304 $actionInstance = $this->actionFactory->create($actionClassName);
308 if (
null == $actionInstance) {
310 if ($actionInstance ===
null) {
317 $request->setModuleName($moduleFrontName);
318 $request->setControllerName($actionPath);
320 $request->setControllerModule($currentModuleName);
321 $request->setRouteName($this->_routeConfig->getRouteByFrontName($moduleFrontName));
322 if (isset(
$params[
'variables'])) {
325 return $actionInstance;
337 $prefix = $this->pathPrefix ?
'Controller\\' . $this->pathPrefix :
'Controller';
338 return $this->nameBuilder->buildClassName([$module,
$prefix, $actionPath]);
357 if ($this->pathConfig->shouldBeSecure(
$path) && !
$request->isSecure()) {
358 $url = $this->pathConfig->getCurrentSecureUrl(
$request);
360 $url = $this->_url->getRedirectUrl(
$url);
363 $this->_responseFactory->create()->setRedirect(
$url)->sendResponse();
375 return $this->_url->getUseSession();
is_subclass_of($obj, $className)
elseif(isset( $params[ 'redirect_parent']))
const REWRITE_REQUEST_PATH_ALIAS
getActionClassName($module, $actionPath)
parseRequest(\Magento\Framework\App\RequestInterface $request)
match(\Magento\Framework\App\RequestInterface $request)
matchModuleFrontName(\Magento\Framework\App\RequestInterface $request, $param)
matchAction(\Magento\Framework\App\RequestInterface $request, array $params)
matchActionPath(\Magento\Framework\App\RequestInterface $request, $param)
_checkShouldBeSecure(\Magento\Framework\App\RequestInterface $request, $path='')
getNotFoundAction($currentModuleName)
if(isset($opts->o)) if(! $usingStdout) $l
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
__construct(\Magento\Framework\App\Router\ActionList $actionList, \Magento\Framework\App\ActionFactory $actionFactory, \Magento\Framework\App\DefaultPathInterface $defaultPath, \Magento\Framework\App\ResponseFactory $responseFactory, \Magento\Framework\App\Route\ConfigInterface $routeConfig, \Magento\Framework\UrlInterface $url, \Magento\Framework\Code\NameBuilder $nameBuilder, \Magento\Framework\App\Router\PathConfigInterface $pathConfig)
_shouldRedirectToSecure()