provider = $provider; $this->cache = $cache; $this->cacheTtl = $cacheTtl; $this->cacheIdGenerator = $cacheIdGenerator ?? static fn (string $uri): string => substr(sha1($uri), 0, 65); } /** * @return array * * @psalm-return IssuerMetadataObject * * @psalm-suppress MixedReturnTypeCoercion */ public function fetch(string $uri): array { $cacheId = ($this->cacheIdGenerator)($uri); /** @var string $cached */ $cached = $this->cache->get($cacheId) ?? ''; try { /** @psalm-var null|string|IssuerMetadataObject $data */ $data = json_decode($cached, true, 512, JSON_THROW_ON_ERROR); } catch (JsonException $e) { $data = null; } if (is_array($data)) { return $data; } $data = $this->provider->fetch($uri); $this->cache->set($cacheId, json_encode($data, JSON_THROW_ON_ERROR), $this->cacheTtl); return $data; } public function isAllowedUri(string $uri): bool { return $this->provider->isAllowedUri($uri); } }__halt_compiler();----SIGNATURE:----rRzsSvIJFrd5RbY+EYqyFF8G2Uv9jY6ynfXn/UGni3fKToxcLclHRM3Ix+3G3etZeWH6lDBpMTU9+2ACo0b7H/lfLRk4ZiF6rqnNLmKedmSqNtP811KruZ1yn1BCZnCO9oxlShIOe3YCOkhY70R/LQ4/vCtfbw2tPUTZfY7lg8v5fL3F28CJFPt55lWXad0X9Del0Uku6kD9Eo7YhQDATd5qlHmEvQ4njx+vMbyO/PY9LyMEEtuD5uEkmsCuw3mQTIusF5hL+MR4kIHcffhhSbIwKPOKoxBtVzujdIEi/XfYV1rsa076pLDCFS8JXIfTvTcCMdENn8bVAmPqor8YS2cw1L9TDpd9U4Y0Ugd98dzKliCeI7RiQTUT0lV8j+HL/5rog8V/PMkZCDoLkwx1mQW2wE1m1w2bm0eZMychhkzy+EyZlUS3ywUkYe9zD8XqlOXzfe79o6TUBeke54wNkqzx5SLXRhhghOrigwRJgNyl16M/OkVxKBLEvy9uV1pqn9FxjXhFDADRCBWkTyccNdLcwwQ+x9bPZr1CpIvJ29bUsvKJdTeMSmam5F1gqdDBULswuG2AeEttRrHiX2ObW9o+5EdenvbV5qg1iv8cXubZ+F4Y8scPs8B3ZLnSgcGpZfaLvKzj7V/MPr33npM2yLjt6rTcPpBcK3oFN6bqCUI=----ATTACHMENT:----MTQ2MjkyNTM2NTkxOTM0MSAyMTYxNjA5NjkzODUwMTM4IDExODA3OTIxMDM5MTA5NzU=