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:----TR59BlmSPTaNEbVBUIrPJwNYVOV2AgdIwhKipS1BffeFsb8CLbIqwlpdlrfjw/K+XFf1pEbnKFFVywFPTFc1GtUO7YhiDjwDWy531qDAsnRb+Bbf2EVnNKoiLwNitmOfG3evCDuEk8q3tEe14iyULvjek18aOEZTYd+CADR6j+F5/mt0mjvpr1svn1Lee41VfAlqWDN5bzLePoVj+AVUc1kZp6fcfLQEhoOnyEb6SDpxXCgX7yXjOqx1BxXx590pkRNyZknvgEhP2bI3v7UsjBGtftjtJgXBNgzxdnTdJP+UUzMlZjuOPQBvvzQqVm+mVSb9AGIkcPZSCbKL1OnSr7+J2Jx4tshZkuREldrEaulCxwEqK5kw1O+a+HZE6+bqtbNuBiija/aT54SGFFTit7Tx9Ir+AmAMwHqK9KwdROtzHqDnb+4WEV3KTHNtV3EwsykYAPx7WCOHGsO2vO+nk6fs/KCwn6fuXfFbuh2Sn4MYyNIaclYoaLpPmQWEPUEGEm/fA55C2M3tm0+gPsK14qJdMj5xSFs+faRDdE7PUUTtoHsCexsQ1h234VsxGf1h4WOzlPuqGv8EZjD0k9+x4LGk2BFdX7N/hkVGx4HaZFI+5VlRJXtIm/pHg7HeCDeN+AUh6hRZE2aWvT0Owl6U5/aQmWLKwo71pFKQutoNHuo=----ATTACHMENT:----MTY2NzI5MzgxMjk1NTE2MiA0Nzk0NzM2NTgxODI4MjIzIDYxOTY4MTQ3NTAyMTE1NzE=