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:----s+b/lhggnpywbSO1gPKTSXprKJh2gGZNZhsgC3P/BqSctBKmlYRwJwPiJidRuhM9rWPZvNV+arNZ1yPRRatba6csST3q4uKRMdAU5I8PWga+TszvP3Bi6R4woXBDZyyCBLykwojnjd+65RvNIi6qbK/UwE6O6mu3ACv7cxnnERMB6AN05d/rAuf9LoGVb5sRFyOpar7d+SEkj/gB73Lf5iHjjrmJIl5t5jWCz3lzHoptx0WZO96PZqvXS/qQYwK+or0oa0hmm8CTXeJqPBCH5rZGEm/+ase7lYKmYfAjalkjhFjgHaseNqhHbvr+9Y+32jVTGjBYQuCP10G2R+UROtSHkv9U7gRBtHh7V+k8fKJvq3BTjo+tn36Hjz0ukjhBklhrBhlC0iR4ERTrD9wyoyDKnza2Et4IBqcEBNXlXx/gISz/0rAWZ9R+4FTGzD1J9gpl4lLrilEwsnSVt4Drvf2XwCPNL9K18ZDtVbYSq8v1FaTkSFd2XC5tMjKPVqFK6ndSK6uOG5XYy9L7hbkhytTK0gSFlbZaLxTzgxvCQNDC+igsLPjIMKx7AsElcsvq5KkVeDkVfZaIlnD+tfL0o1aEzrZviEmLrCQ2Kch9bLNk3Fpc6dmTXlS5TAxNNcQWLfQ7ujMvrGnQyFVYGDnArbMfOcJGfUxtcUfs0ACPI14=----ATTACHMENT:----OTM1NTM0OTUyMTUwODM4MiA3MjQ0ODIzOTE3ODQyNTgwIDgwMzc0MzI3NDIzMDQ3NjY=