| 1234567891011121314151617181920212223242526272829303132333435 |
- <?php
- declare(strict_types=1);
- require_once __DIR__ . "/includes/update-server.php";
- header("Cache-Control: no-store");
- $baseDir = __DIR__;
- $manifestFile = $baseDir . "/manifest.json";
- try {
- $manifest = updateServerReadManifest($manifestFile);
- $release = updateServerLatestRelease($manifest);
- $packagePath = updateServerPackagePath($baseDir, $release["package"]);
- $size = $release["size"] > 0 ? $release["size"] : (filesize($packagePath) ?: 0);
- updateServerJsonResponse(200, [
- "latest" => $release["version"],
- "version" => $release["version"],
- "package_url" => updateServerPackageUrl($release["version"]),
- "sha256" => $release["sha256"],
- "size" => $size,
- "published_at" => $release["published_at"],
- ]);
- } catch (Throwable $exception) {
- $message = $exception->getMessage();
- $status = in_array($message, [
- "No valid latest release is configured.",
- "Latest release entry is missing.",
- "Release package is missing.",
- ], true) ? 404 : 500;
- updateServerJsonResponse($status, ["error" => $message]);
- }
|