function BigPipeStrategy::processPlaceholders

Same name and namespace in other branches
  1. 11.x core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php \Drupal\big_pipe\Render\Placeholder\BigPipeStrategy::processPlaceholders()
  2. 10 core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php \Drupal\big_pipe\Render\Placeholder\BigPipeStrategy::processPlaceholders()
  3. 8.9.x core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php \Drupal\big_pipe\Render\Placeholder\BigPipeStrategy::processPlaceholders()

File

core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php, line 108

Class

BigPipeStrategy
Defines the BigPipe placeholder strategy, to send HTML in chunks.

Namespace

Drupal\big_pipe\Render\Placeholder

Code

public function processPlaceholders(array $placeholders) {
  $request = $this->requestStack
    ->getCurrentRequest();
  // @todo remove this check when https://www.drupal.org/node/2367555 lands.
  if (!$request->isMethodCacheable()) {
    return [];
  }
  // Routes can opt out from using the BigPipe HTML delivery technique.
  if ($this->routeMatch
    ->getRouteObject()
    ->getOption('_no_big_pipe')) {
    return [];
  }
  if (!$this->sessionConfiguration
    ->hasSession($request)) {
    return [];
  }
  return $this->doProcessPlaceholders($placeholders);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.