From 7b7af47823479957eab0c6019982e11159cb745a Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Thu, 15 Feb 2024 19:30:32 +0100 Subject: [PATCH] Added PurpurInstaller#isValidVersion --- .../mcdash/api/installer/PurpurInstaller.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/de/gnmyt/mcdash/api/installer/PurpurInstaller.java b/src/main/java/de/gnmyt/mcdash/api/installer/PurpurInstaller.java index 08f39c0..db32f82 100644 --- a/src/main/java/de/gnmyt/mcdash/api/installer/PurpurInstaller.java +++ b/src/main/java/de/gnmyt/mcdash/api/installer/PurpurInstaller.java @@ -2,15 +2,32 @@ package de.gnmyt.mcdash.api.installer; import de.gnmyt.mcdash.api.Logger; import de.gnmyt.mcdash.api.ServerVersionManager; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; import java.io.File; public class PurpurInstaller implements VersionInstaller { private static final Logger LOG = new Logger(PurpurInstaller.class); + private static final OkHttpClient client = new OkHttpClient(); private static final String PURPUR_URL = "https://api.purpurmc.org/v2/purpur/%s/latest/download"; + @Override + public boolean isValidVersion(String software, String version) { + try { + Request request = new Request.Builder().url(String.format(PURPUR_URL, version)).build(); + Response response = client.newCall(request).execute(); + + return response.code() == 200; + } catch (Exception e) { + LOG.error("An error occurred while checking the purpur version", e); + return false; + } + } + @Override public boolean installVersion(String software, String version) { try {