mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-11-24 03:05:17 +01:00
Close opened resources
- Add BufferedReader instantiation into try-with-resources statement - Close scanner that was opened - Create utility class to format a caught exception
This commit is contained in:
parent
5f9ba208de
commit
c83e983dea
@ -25,6 +25,7 @@ import fr.xephi.authme.settings.OtherAccounts;
|
|||||||
import fr.xephi.authme.settings.Settings;
|
import fr.xephi.authme.settings.Settings;
|
||||||
import fr.xephi.authme.settings.Spawn;
|
import fr.xephi.authme.settings.Spawn;
|
||||||
import fr.xephi.authme.util.GeoLiteAPI;
|
import fr.xephi.authme.util.GeoLiteAPI;
|
||||||
|
import fr.xephi.authme.util.StringUtils;
|
||||||
import fr.xephi.authme.util.Utils;
|
import fr.xephi.authme.util.Utils;
|
||||||
import net.minelink.ctplus.CombatTagPlus;
|
import net.minelink.ctplus.CombatTagPlus;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
@ -42,6 +43,7 @@ import org.mcstats.Metrics;
|
|||||||
import org.mcstats.Metrics.Graph;
|
import org.mcstats.Metrics.Graph;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
@ -905,16 +907,23 @@ public class AuthMe extends JavaPlugin {
|
|||||||
public String getVeryGamesIp(Player player) {
|
public String getVeryGamesIp(Player player) {
|
||||||
String realIP = player.getAddress().getAddress().getHostAddress();
|
String realIP = player.getAddress().getAddress().getHostAddress();
|
||||||
String sUrl = "http://monitor-1.verygames.net/api/?action=ipclean-real-ip&out=raw&ip=%IP%&port=%PORT%";
|
String sUrl = "http://monitor-1.verygames.net/api/?action=ipclean-real-ip&out=raw&ip=%IP%&port=%PORT%";
|
||||||
sUrl = sUrl.replace("%IP%", player.getAddress().getAddress().getHostAddress()).replace("%PORT%", "" + player.getAddress().getPort());
|
sUrl = sUrl.replace("%IP%", player.getAddress().getAddress().getHostAddress())
|
||||||
|
.replace("%PORT%", "" + player.getAddress().getPort());
|
||||||
try {
|
try {
|
||||||
URL url = new URL(sUrl);
|
URL url = new URL(sUrl);
|
||||||
URLConnection urlCon = url.openConnection();
|
URLConnection urlCon = url.openConnection();
|
||||||
BufferedReader in = new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
|
try (BufferedReader in = new BufferedReader(new InputStreamReader(urlCon.getInputStream()))) {
|
||||||
String inputLine = in.readLine();
|
String inputLine = in.readLine();
|
||||||
if (inputLine != null && !inputLine.isEmpty() && !inputLine.equalsIgnoreCase("error") && !inputLine.contains("error")) {
|
if (!StringUtils.isEmpty(inputLine) && !inputLine.equalsIgnoreCase("error")
|
||||||
|
&& !inputLine.contains("error")) {
|
||||||
realIP = inputLine;
|
realIP = inputLine;
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (IOException e) {
|
||||||
|
ConsoleLogger.showError("Could not read from Very Games API - " + StringUtils.formatException(e));
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
ConsoleLogger.showError("Could not fetch Very Games API with URL '" + sUrl + "' - "
|
||||||
|
+ StringUtils.formatException(e));
|
||||||
}
|
}
|
||||||
return realIP;
|
return realIP;
|
||||||
}
|
}
|
||||||
|
@ -33,11 +33,6 @@ public class vAuthFileReader {
|
|||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Method convert.
|
|
||||||
*
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public void convert() {
|
public void convert() {
|
||||||
final File file = new File(plugin.getDataFolder().getParent() + "" + File.separator + "vAuth" + File.separator + "passwords.yml");
|
final File file = new File(plugin.getDataFolder().getParent() + "" + File.separator + "vAuth" + File.separator + "passwords.yml");
|
||||||
Scanner scanner;
|
Scanner scanner;
|
||||||
@ -63,6 +58,7 @@ public class vAuthFileReader {
|
|||||||
}
|
}
|
||||||
database.saveAuth(auth);
|
database.saveAuth(auth);
|
||||||
}
|
}
|
||||||
|
scanner.close();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
ConsoleLogger.writeStackTrace(e);
|
ConsoleLogger.writeStackTrace(e);
|
||||||
}
|
}
|
||||||
|
@ -107,4 +107,15 @@ public class StringUtils {
|
|||||||
// Return the result as a string
|
// Return the result as a string
|
||||||
return stringWriter.toString();
|
return stringWriter.toString();
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Format the information from a Throwable as string, retaining the type and its message.
|
||||||
|
*
|
||||||
|
* @param th The throwable to process
|
||||||
|
*
|
||||||
|
* @return String with the type of the Throwable and its message, e.g. "[IOException]: Could not open stream"
|
||||||
|
*/
|
||||||
|
public static String formatException(Throwable th) {
|
||||||
|
return "[" + th.getClass().getSimpleName() + "]: " + th.getMessage();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package fr.xephi.authme.util;
|
|||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.net.MalformedURLException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -84,4 +85,16 @@ public class StringUtilsTest {
|
|||||||
// then
|
// then
|
||||||
assertThat(result, equalTo("hello"));
|
assertThat(result, equalTo("hello"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldFormatException() {
|
||||||
|
// given
|
||||||
|
MalformedURLException ex = new MalformedURLException("Unrecognized URL format");
|
||||||
|
|
||||||
|
// when
|
||||||
|
String result = StringUtils.formatException(ex);
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertThat(result, equalTo("[MalformedURLException]: Unrecognized URL format"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user