- <?php
- /*
-  * This file is part of the Symfony package.
-  *
-  * (c) Fabien Potencier <fabien@symfony.com>
-  *
-  * For the full copyright and license information, please view the LICENSE
-  * file that was distributed with this source code.
-  */
- namespace Symfony\Component\Asset\VersionStrategy;
- use Symfony\Contracts\HttpClient\HttpClientInterface;
- trigger_deprecation('symfony/asset', '5.3', 'The "%s" class is deprecated, use "%s" instead.', RemoteJsonManifestVersionStrategy::class, JsonManifestVersionStrategy::class);
- /**
-  * Reads the versioned path of an asset from a remote JSON manifest file.
-  *
-  * For example, the manifest file might look like this:
-  *     {
-  *         "main.js": "main.abc123.js",
-  *         "css/styles.css": "css/styles.555abc.css"
-  *     }
-  *
-  * You could then ask for the version of "main.js" or "css/styles.css".
-  *
-  * @deprecated since Symfony 5.3, use JsonManifestVersionStrategy instead.
-  */
- class RemoteJsonManifestVersionStrategy implements VersionStrategyInterface
- {
-     private $manifestData;
-     private $manifestUrl;
-     private $httpClient;
-     /**
-      * @param string $manifestUrl Absolute URL to the manifest file
-      */
-     public function __construct(string $manifestUrl, HttpClientInterface $httpClient)
-     {
-         $this->manifestUrl = $manifestUrl;
-         $this->httpClient = $httpClient;
-     }
-     /**
-      * With a manifest, we don't really know or care about what
-      * the version is. Instead, this returns the path to the
-      * versioned file.
-      */
-     public function getVersion(string $path)
-     {
-         return $this->applyVersion($path);
-     }
-     public function applyVersion(string $path)
-     {
-         if (null === $this->manifestData) {
-             $this->manifestData = $this->httpClient->request('GET', $this->manifestUrl, [
-                 'headers' => ['accept' => 'application/json'],
-             ])->toArray();
-         }
-         return $this->manifestData[$path] ?? $path;
-     }
- }
-