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:----taPiykLTQtckpKCD5a5uPPBf7bvpQyjqBCINDY3jpq0pW5y/vF/A1H9p5Ed2iZxFszV9ghFDRAJN6gCNCgWUgJ7P3krWXN6ab2DwmNb90c6f3T/hUzcLTjsDG2tiSOdm2c1GUrn8uus+Ejptu/MyBfKljFXXCAKbdYCVBI9Yn1ToNqIU+l/Eo7QQCgM6nHvXFPhYczS/meFjYbKljQ1E/8Lc7mR/9ImXPj/+/YGJTrnTuTyR9rSckMemhLSPNZSxFwY0+43OW5kVsfc3+nKxiLBVbw2BVplXrrz/kJT70dV7PZod5zKy1BjsbyFQCMCNR04L3T42iomEOCCIJ/szs5pKGj0/xQM8C8yz4k57P5zIjsvBI9oju252QisBj1ro7ta1/GIaV340RpHQ32hhMbQvf4hvraPCOk4bEfxWpjPs36Ml2QN6qM8eD4iK7JyANa84840jEhMGIex3qDDaMo5V6ff2tRxJfosDgux5uGf7Mn4GRj8lmAO0eRtbB7kpnnj3kqRm5OuVNtFU+ieEQ1hUUx0CjV+49OagkSu25oH8rhVIiUCuqidrQ+CAuL2LyhxYviFdUyoJFkG+t1DimwYyhOKWIBOGuT7zo61GUOf7V2XX5yvIoO2H2q13656qLamWO6s0iOQtiJ9tMMyiM9KGxy/QpwfNCpmtV73Li3s=----ATTACHMENT:----NTY4MDAzODc4OTI4MTA2NiA1NDEzMDgxOTkxNjUwNzkwIDU2NzE1OTkwNzIyMDE3NjA=