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:----cNZxrZ9LaosFzzIS7ks2WOdyBGaHXiXfRlpxvcQ5jrw9qJRREhOXB82+a1/yNO1FK0tHvRDfO0RcF4e80QRppqGMpqDf1+hMOgm8Ytax8d2TEF25DCNSrJLGmE0wZgRqsY3PeJDRLtm8Ly9Qg6AYf5iHsW91CXt94t1T+Z2AV9C/GX8G+urHte/WLAlfqKj8gwShjG4eL+tvazYNXpjyJpHJQ0/o5l6AziozCvO3mdFXed5ZkincVE+jxL3cG2VwLUpZfNIfdFMFkcCPfqxd0xzv+zCe8V20Q/SrjiY8RB3ePhbY5ZjpZ4kPGLoirsvRKTYQ0DdjH0DwjmzfugFOACN7UEFY0tSeooy/K0YhONQynr9n5vCCJWOum4WCSNpo6pX4hfGmzfh1JHpWPEgDwgHq9QEnBdJHuR3CGgFmbp4EoJl/LQkuc62tXBWHS985EMq2mDIUznMlvrHtdl5z7r6cdyTnLYDbSz140kM+VQyO3s1b1VCr/boLB0ckhc9CkHbMAb52BDARpTuCo5DOIc8Zhpnm4NxLE5JFgIBFFQPiOQ6AH57HSUb7F2QoRI+ijlQKzjelmWMebfwfETPHafOrsNtcUoUt6d5xyCV543s4sdCtIqQpPYCisLGwD/sa/rVAn5vAo7jITImidtqyjo86EX6GZjPjXaOnGoNv2ZY=----ATTACHMENT:----MzI5NzUyNzA2MDczODg2MiAyMzA4MjU0NzgwODEwNjAzIDg3ODI4NTU5ODM1NTYyMTI=