Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/EmailNotifications/vendor/async-aws/core/src/Credentials/SymfonyCacheProvider.php
Ðазад
<?php declare(strict_types=1); namespace AsyncAws\Core\Credentials; use AsyncAws\Core\Configuration; use Psr\Cache\CacheException; use Psr\Log\LoggerInterface; use Symfony\Contracts\Cache\CacheInterface; use Symfony\Contracts\Cache\ItemInterface; /** * Cache the Credential generated by the decorated CredentialProvider with Symfony Cache. * Symfony Cache provides stampede protection which is preferred on applications with more than * 1 or 2 requests per second. * * The Credential will be reused until it expires. * * @author Jérémy Derussé <jeremy@derusse.com> */ final class SymfonyCacheProvider implements CredentialProvider { /** * @var CacheInterface */ private $cache; /** * @var CredentialProvider */ private $decorated; /** * @var LoggerInterface|null */ private $logger; public function __construct(CredentialProvider $decorated, CacheInterface $cache, ?LoggerInterface $logger = null) { $this->decorated = $decorated; $this->cache = $cache; $this->logger = $logger; } public function getCredentials(Configuration $configuration): ?Credentials { $provider = $this->decorated; $closure = \Closure::fromCallable(static function (ItemInterface $item) use ($configuration, $provider) { $credential = $provider->getCredentials($configuration); if (null !== $credential && null !== $exp = $credential->getExpireDate()) { $item->expiresAt($exp); } else { $item->expiresAfter(0); } return $credential; }); try { return $this->cache->get('AsyncAws.Credentials.' . sha1(serialize([$configuration, \get_class($this->decorated)])), $closure); } catch (CacheException $e) { if (null !== $this->logger) { $this->logger->error('Failed to get AWS credentials from cache.', ['exception' => $e]); } return $provider->getCredentials($configuration); } } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка