You are here

public function ToolbarController::subtreesAjax in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/toolbar/src/Controller/ToolbarController.php \Drupal\toolbar\Controller\ToolbarController::subtreesAjax()
  2. 9 core/modules/toolbar/src/Controller/ToolbarController.php \Drupal\toolbar\Controller\ToolbarController::subtreesAjax()

Returns an AJAX response to render the toolbar subtrees.

Return value

\Drupal\Core\Ajax\AjaxResponse

1 string reference to 'ToolbarController::subtreesAjax'
toolbar.routing.yml in core/modules/toolbar/toolbar.routing.yml
core/modules/toolbar/toolbar.routing.yml

File

core/modules/toolbar/src/Controller/ToolbarController.php, line 24

Class

ToolbarController
Defines a controller for the toolbar module.

Namespace

Drupal\toolbar\Controller

Code

public function subtreesAjax() {
  [
    $subtrees,
  ] = toolbar_get_rendered_subtrees();
  $response = new AjaxResponse();
  $response
    ->addCommand(new SetSubtreesCommand($subtrees));

  // The Expires HTTP header is the heart of the client-side HTTP caching. The
  // additional server-side page cache only takes effect when the client
  // accesses the callback URL again (e.g., after clearing the browser cache
  // or when force-reloading a Drupal page).
  $max_age = 365 * 24 * 60 * 60;
  $response
    ->setPrivate();
  $response
    ->setMaxAge($max_age);
  $expires = new \DateTime();
  $expires
    ->setTimestamp(REQUEST_TIME + $max_age);
  $response
    ->setExpires($expires);
  return $response;
}