Skip to content
HeadersCacheContext.php 699 B
Newer Older
 * Contains \Drupal\Core\Cache\Context\HeadersCacheContext.
namespace Drupal\Core\Cache\Context;

/**
 * Defines the HeadersCacheContext service, for "per header" caching.
 */
class HeadersCacheContext extends RequestStackCacheContextBase implements CalculatedCacheContextInterface {

  /**
   * {@inheritdoc}
   */
  public static function getLabel() {
    return t('HTTP headers');
  }

  /**
   * {@inheritdoc}
   */
  public function getContext($header = NULL) {
    if ($header === NULL) {
      return $this->requestStack->getCurrentRequest()->headers->all();
    }
    else {
      return $this->requestStack->getCurrentRequest()->headers->get($header);
    }
  }

}