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:----U5ucjsX0/SoNieOFTqOdQmkAEYnBRdT3k4/jn8WAX3+LjWvLQu74BJtE+JBnt+O2oTs+J8R7tzBBhmCtyPLXZSOOORGumM/InTq7n5sQSswxoVoA76zy4G4D2FWOk7DlXQ+Kuww/uedBNr66JQVeC0vwXV0VHrSmsAXEuy1fzN3wLNJP2KFyifJiSnO1DtMYEdQsNxfzNJ00KkWksFS+y2BwEcAk9fVnOOEpCp9FBVXYBRf3Cwtac2S3A2+muwLyeZGM1cqMvEd8ABIj/t36BvIeBAzwISYPFnD/5uyHlgO/a6FKsCccPdlUObxvqqH1SU5ISIDj378VkNqNNDMqGTwtwpK+ldPKwgefIPxhpPGy3bwo9pea/u2XsF1hjYrq/5Ofq3fsn7glLU4EbQzFr5ztiQqgfrLmBPMwPnQq+cL8gpbRZj+rbM2A+WhhV+vlxLxoOr7z9dGhwd3McNwRFjExv/FUzCU7e6Rn/xmu46f1MebdiQ5ywTk1FiVp3L4vRlRE9ddXK8wv0JyLVe0J1mGu+Ssb8qcNLdx/UVa6Ksv9V/JfAXxqUEennfm3SdRzRMmJesoNRC9Q/V3RJ6oOtRXTGCuXbvhDlY305O7JqyPxJnTRIj80zXNTsWV6+JYZWlbrdG62Vp0K0yVnPV+L0hjbSmyvkZWiN7xknGbY5v0=----ATTACHMENT:----NTgxNDQzNjU4NDQ0MzU0NSAxMzYxNTMyMDM1NzQyNzU2IDI1NjQ4MzkxMjkyMjQxMjc=