public function checkForHomepageRedirect(Event $event) {

    // Make sure front page module is not run when using cli or doing install.
    if (PHP_SAPI === 'cli' || drupal_installation_attempted()) {
      return;
    }
    // Don't run when site is in maintenance mode.
    if (\Drupal::state()->get('system.maintenance_mode')) {
      return;
    }

    // Ignore non index.php requests (like cron).
    if (!empty($_SERVER['SCRIPT_FILENAME']) && realpath(DRUPAL_ROOT . '/index.php') != realpath($_SERVER['SCRIPT_FILENAME'])) {
      return;
    }

    /** @var \Symfony\Component\HttpFoundation\Request $request */
    $request = $event->getRequest();
    $request_path = $request->getPathInfo();
    $frontpage_an = $this->siteSettings->get('page.front');
    if ($request_path === $frontpage_an || $request_path === '/') {
      $frontpage_lu = $this->alternativeFrontpageSettings->get('frontpage_for_authenticated_user');
      if ($frontpage_an === $frontpage_lu) {
        return;
      }
      if ($frontpage_lu && $this->currentUser->isAuthenticated()) {
        $cache_contexts = new CacheableMetadata();
        $cache_contexts->setCacheContexts(['user.roles:anonymous']);

        $response = new CacheableRedirectResponse($frontpage_lu);
        $response->addCacheableDependency($cache_contexts);
        $event->setResponse($response);
      }
    }
  }
public function checkForHomepageRedirect(Event $event) {

    // Make sure front page module is not run when using cli or doing install.
    if (PHP_SAPI === 'cli' || drupal_installation_attempted()) {
      return;
    }
    // Don't run when site is in maintenance mode.
    if (\Drupal::state()->get('system.maintenance_mode')) {
      return;
    }

    // Ignore non index.php requests (like cron).
    if (!empty($_SERVER['SCRIPT_FILENAME']) && realpath(DRUPAL_ROOT . '/index.php') != realpath($_SERVER['SCRIPT_FILENAME'])) {
      return;
    }

    /** @var \Symfony\Component\HttpFoundation\Request $request */
    $request = $event->getRequest();
    $request_path = $request->getPathInfo();
    $frontpage_an = $this->siteSettings->get('page.front');
    if ($request_path === $frontpage_an || $request_path === '/') {
      $frontpage_lu = $this->alternativeFrontpageSettings->get('frontpage_for_authenticated_user');
      if ($frontpage_an === $frontpage_lu) {
        return;
      }
      if ($frontpage_lu && $this->currentUser->isAuthenticated()) {
        $cache_contexts = new CacheableMetadata();
        $cache_contexts->setCacheContexts(['user.roles:anonymous']);

        $response = new CacheableRedirectResponse($frontpage_lu);
        $response->addCacheableDependency($cache_contexts);
        $event->setResponse($response);
      }
    }
  }
public function checkForHomepageRedirect ( Event $ event ) { // Make sure front page module is not run when using cli or doing install. if ( PHP_SAPI === 'cli' || drupal_installation_attempted ( ) ) { return ; } // Don't run when site is in maintenance mode. if ( \ Drupal :: state ( ) -> get ( 'system.maintenance_mode' ) ) { return ; } // Ignore non index.php requests (like cron). if ( ! empty ( $ _SERVER [ 'SCRIPT_FILENAME' ] ) && realpath ( DRUPAL_ROOT . '/index.php' ) != realpath ( $ _SERVER [ 'SCRIPT_FILENAME' ] ) ) { return ; } /** @var \Symfony\Component\HttpFoundation\Request $request */ $ request = $ event -> getRequest ( ) ; $ request_path = $ request -> getPathInfo ( ) ; $ frontpage_an = $ this -> siteSettings -> get ( 'page.front' ) ; if ( $ request_path === $ frontpage_an || $ request_path === '/' ) { $ frontpage_lu = $ this -> alternativeFrontpageSettings -> get ( 'frontpage_for_authenticated_user' ) ; if ( $ frontpage_an === $ frontpage_lu ) { return ; } if ( $ frontpage_lu && $ this -> currentUser -> isAuthenticated ( ) ) { $ cache_contexts = new CacheableMetadata ( ) ; $ cache_contexts -> setCacheContexts ( [ 'user.roles:anonymous' ] ) ; $ response = new CacheableRedirectResponse ( $ frontpage_lu ) ; $ response -> addCacheableDependency ( $ cache_contexts ) ; $ event -> setResponse ( $ response ) ; } } }
This method is called whenever the request event is dispatched.

@param \Symfony\Component\EventDispatcher\Event $event
Triggering event.
This method is called whenever the request event is dispatched .