Fixed parsing url shortner
All checks were successful
Java CI / Build (push) Successful in 1m44s

This commit is contained in:
Stijn Bannink 2025-05-02 16:02:17 +02:00
parent 536cb90868
commit 1ff00557bb
Signed by: SBDeveloper
GPG key ID: B730712F2C3A9D7A
3 changed files with 26 additions and 3 deletions

View file

@ -108,7 +108,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.21.5-R0.1-SNAPSHOT</version>
<version>1.21.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>

View file

@ -14,7 +14,6 @@ import tech.sbdevelopment.themeparkaudio.managers.PinManager;
import tech.sbdevelopment.themeparkaudio.managers.WGManager;
import tech.sbdevelopment.themeparkaudio.socket.messages.AudioMessage;
import tech.sbdevelopment.themeparkaudio.socket.messages.LightMessage;
import tech.sbdevelopment.themeparkaudio.socket.messages.StopAudioMessage;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;

View file

@ -1,9 +1,16 @@
package tech.sbdevelopment.themeparkaudio.socket.messages;
import lombok.Getter;
import tech.sbdevelopment.themeparkaudio.ThemeParkAudio;
import tech.sbdevelopment.themeparkaudio.api.AudioType;
import org.json.simple.JSONObject;
import javax.net.ssl.HttpsURLConnection;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URISyntaxException;
@Getter
public class AudioMessage extends AbstractMessage {
private final String path;
@ -12,7 +19,7 @@ public class AudioMessage extends AbstractMessage {
protected AudioMessage(AudioType type, String path, Boolean play, Integer at) {
super(type.toMessageTask());
this.path = path;
this.path = parsePath(path);
this.play = play;
this.at = at;
}
@ -29,6 +36,23 @@ public class AudioMessage extends AbstractMessage {
return new AudioMessage(type, path, play, at);
}
private static String parsePath(String path) {
if (path.startsWith("https://mcau.nl")) {
try {
HttpsURLConnection connection = (HttpsURLConnection) new URI(path).toURL().openConnection();
connection.setInstanceFollowRedirects(false);
connection.connect();
if (connection.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM ||
connection.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP) {
path = connection.getHeaderField("Location");
}
} catch (URISyntaxException | IOException e) {
ThemeParkAudio.getInstance().getLogger().warning("Failed to resolve URL: " + e.getMessage());
}
}
return path;
}
@Override
protected JSONObject extendJson() {
JSONObject data = new JSONObject();