Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Routing/RedirectDestination.php \Drupal\Core\Routing\RedirectDestination::get()
  2. 9 core/lib/Drupal/Core/Routing/RedirectDestination.php \Drupal\Core\Routing\RedirectDestination::get()
1 call to RedirectDestination::get()
RedirectDestination::getAsArray in core/lib/Drupal/Core/Routing/RedirectDestination.php

File

core/lib/Drupal/Core/Routing/RedirectDestination.php, line 57

Class

RedirectDestination
Provides helpers for redirect destinations.

Namespace

Drupal\Core\Routing

Code

public function get() {
  if (!isset($this->destination)) {
    $query = $this->requestStack
      ->getCurrentRequest()->query;
    if ($query
      ->has('destination')) {
      $this->destination = $query
        ->get('destination');
      if (UrlHelper::isExternal($this->destination)) {

        // See https://www.drupal.org/node/2454955 for external redirects.
        $this->destination = '/';
      }
    }
    else {
      $this->destination = $this->urlGenerator
        ->generateFromRoute('<current>', [], [
        'query' => UrlHelper::filterQueryParameters($query
          ->all()),
      ]);
    }
  }
  return $this->destination;
}