apigee_m10n-8.x-1.7/src/Cache/DeveloperCacheContext.php
src/Cache/DeveloperCacheContext.php
<?php /* * Copyright 2018 Google Inc. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ namespace Drupal\apigee_m10n\Cache; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Cache\Context\CacheContextInterface; use Drupal\Core\Cache\Context\RequestStackCacheContextBase; use Drupal\user\UserInterface; /** * Defines the DeveloperCacheContext service, for "per URL developer" caching. * * Cache context ID: 'url.developer'. */ class DeveloperCacheContext extends RequestStackCacheContextBase implements CacheContextInterface { /** * {@inheritdoc} */ public static function getLabel() { return t('Developer'); } /** * {@inheritdoc} */ public function getContext() { $user = ($request = $this->requestStack->getCurrentRequest()) ? $request->get('user') : NULL; return (string) ($user instanceof UserInterface ? $user->id() : $user); } /** * {@inheritdoc} */ public function getCacheableMetadata() { return new CacheableMetadata(); } }