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:----DLO2BVi+YAQlBnjouuwmuhTk/dJ0crQONGmhRS6FejhQiX2V23LToejw6exw0ERHjipIfGy8cap+E+zHjEwF3j7qdMcUmNCi54twKhxK26ryHByEu1Hl0HdVMTVbnEX5m2JQdDwDIYprhaych3kVC4gGv9k0e4eYZMJ2JT1i9lplWhkSIfMarNXqnLgHnYCUu0wL1mksfOtZSY8Y/yO3SicjOXkYARJUK1KopQmCshdPdIxHnQ5Rwk3fKQ+BSaWGiWsJlpV6dld0yB3RDESVqFrNyTYiOABGZDUHCa/oqHqQO98ifv6BfA5WYvEDOUkc1FedMrtOxzG8Lzx4bsP3OqQizHUvj/K2deQUfieThpABXGLKVz14YFglq5gEIeCWy0qDWFhTrRwnvbW3xOZ1APcVl8O9gsb9w+tDkVsbXi8kWU+K6pARLEo5KghhKtw1S6nkFQXs8oKwAJeEnmPleVF4uUizB6IWy99CAsXTfhju2KfHVB1ycFj63G381Y7m51JBIvBEoJrLLECaI67/KDrIPovLGv189zVpgtV7UXgU3Jq4y+AKdDM+qquS/wuQyCLSuJEze/001bRU8xIM3qOtzNYUC57NVxdG/ALuXGMndymwMpae/oOy85ofxpT8MVRgmMVszPa5wGFuc6OykwjnSPZbL9TP+9ZofYAnn9g=----ATTACHMENT:----NzM4NTQ5NTY5MDUwNzk5MCAyMDUzNzExMzk3MDYyOTU5IDExMzgwNzc3NjI1MDc3NDI=