Файловый менеджер - Редактировать - /var/www/html/libraries/vendor/web-token/jwt-library/KeyManagement/UrlKeySetFactory.php
Ðазад
<?php declare(strict_types=1); namespace Jose\Component\KeyManagement; use Psr\Cache\CacheItemPoolInterface; use Psr\Http\Client\ClientInterface; use Psr\Http\Message\RequestFactoryInterface; use RuntimeException; use Symfony\Component\Cache\Adapter\NullAdapter; use Symfony\Contracts\HttpClient\HttpClientInterface; use function assert; /** * @see \Jose\Tests\Component\KeyManagement\UrlKeySetFactoryTest */ abstract class UrlKeySetFactory { private CacheItemPoolInterface $cacheItemPool; private int $expiresAfter = 3600; public function __construct( private readonly ClientInterface|HttpClientInterface $client, private readonly null|RequestFactoryInterface $requestFactory = null ) { if ($this->client instanceof ClientInterface) { trigger_deprecation( 'web-token/jwt-library', '3.3', 'Using "%s" with an instance of "%s" is deprecated, use "%s" instead.', self::class, ClientInterface::class, HttpClientInterface::class ); } if (! $this->client instanceof HttpClientInterface && $this->requestFactory === null) { throw new RuntimeException(sprintf( 'The request factory must be provided when using an instance of "%s" as client.', ClientInterface::class )); } $this->cacheItemPool = new NullAdapter(); } public function enabledCache(CacheItemPoolInterface $cacheItemPool, int $expiresAfter = 3600): void { $this->cacheItemPool = $cacheItemPool; $this->expiresAfter = $expiresAfter; } /** * @param array<string, string|string[]> $header */ protected function getContent(string $url, array $header = []): string { $cacheKey = hash('xxh128', $url); $item = $this->cacheItemPool->getItem($cacheKey); if ($item->isHit()) { return $item->get(); } $content = $this->client instanceof HttpClientInterface ? $this->sendSymfonyRequest( $url, $header ) : $this->sendPsrRequest($url, $header); $item = $this->cacheItemPool->getItem($cacheKey); $item->expiresAfter($this->expiresAfter); $item->set($content); $this->cacheItemPool->save($item); return $content; } /** * @param array<string, string|string[]> $header */ private function sendSymfonyRequest(string $url, array $header = []): string { assert($this->client instanceof HttpClientInterface); $response = $this->client->request('GET', $url, [ 'headers' => $header, ]); if ($response->getStatusCode() >= 400) { throw new RuntimeException('Unable to get the key set.', $response->getStatusCode()); } return $response->getContent(); } /** * @param array<string, string|string[]> $header */ private function sendPsrRequest(string $url, array $header = []): string { assert($this->client instanceof ClientInterface); assert($this->requestFactory instanceof RequestFactoryInterface); $request = $this->requestFactory->createRequest('GET', $url); foreach ($header as $k => $v) { $request = $request->withHeader($k, $v); } $response = $this->client->sendRequest($request); if ($response->getStatusCode() >= 400) { throw new RuntimeException('Unable to get the key set.', $response->getStatusCode()); } return $response->getBody() ->getContents(); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка