From 8722fa6527ada1e89ae2e41da2e0d38e1c2c22ba Mon Sep 17 00:00:00 2001 From: Minecon724 Date: Mon, 5 May 2025 08:11:47 +0200 Subject: [PATCH] Simplify GiteaMetadataDAO --- .../jarupdater/live/GiteaMetadataDAO.java | 70 +------------------ 1 file changed, 2 insertions(+), 68 deletions(-) diff --git a/src/main/java/eu/m724/jarupdater/live/GiteaMetadataDAO.java b/src/main/java/eu/m724/jarupdater/live/GiteaMetadataDAO.java index cc33343..5d31146 100644 --- a/src/main/java/eu/m724/jarupdater/live/GiteaMetadataDAO.java +++ b/src/main/java/eu/m724/jarupdater/live/GiteaMetadataDAO.java @@ -1,73 +1,7 @@ package eu.m724.jarupdater.live; -import com.google.gson.Gson; -import eu.m724.jarupdater.object.Version; - -import java.io.IOException; -import java.net.ProxySelector; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; -import java.util.stream.Collectors; - -public class GiteaMetadataDAO implements MetadataDAO { - private final String url; - private final String branch; - +public class GiteaMetadataDAO extends HttpMetadataDAO { public GiteaMetadataDAO(String url, String branch) { - this.url = url; - this.branch = branch; + super(url + "/raw/branch/" + branch + "/data/"); } - - - @Override - public CompletableFuture> getChannels() { - String url = getFileUrl("channels.txt"); - - return makeRequest(url).thenApply(response -> { - if (response.statusCode() != 200) - throw new CompletionException(new IOException("Server returned status code " + response.statusCode())); - - return response.body().lines().collect(Collectors.toList()); - }); - } - - @Override - public CompletableFuture getMetadata(String channel, String versionLabel) { - String url = getFileUrl(channel, versionLabel, "meta-v1.json"); - - // not throwing nosuchversionexecpion because it's not possible to tell if the server is broken or it really doesn't exist - - return makeRequest(url).thenApply(response -> { - if (response.statusCode() != 200) - throw new CompletionException(new IOException("Server returned status code " + response.statusCode())); - // not throwing nosuchversionexecpion because it's not possible to tell if the server is broken or it really doesn't exist - - return new Gson().fromJson(response.body(), Version.class); - }); - } - - - private CompletableFuture> makeRequest(String url) { - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "ju/1") // jar updater v1 - .build(); - - HttpClient.Builder httpClientBuilder = HttpClient.newBuilder() - .followRedirects(HttpClient.Redirect.NORMAL) - .proxy(ProxySelector.getDefault()); - - HttpClient httpClient = httpClientBuilder.build(); - return httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString()); - } - - private String getFileUrl(String... paths) { - return url + "/raw/branch/" + branch + "/data/" + String.join("/", paths); - } - }