diff --git a/README.md b/README.md index 47bf917..9ee647a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # PlayerBalancer [Spigot Resource](https://www.spigotmc.org/resources/10788/) -[![Build Status](https://travis-ci.com/jaime29010/PlayerBalancer.svg?token=2yUi9WpA9QzSbJx9eTmy&branch=master)](https://travis-ci.com/jaime29010/LobbyBalancer) +[![Build Status](https://travis-ci.com/jaime29010/PlayerBalancer.svg?token=2yUi9WpA9QzSbJx9eTmy&branch=master)](https://travis-ci.com/jaime29010/PlayerBalancer) ### Things to do: - [x] Get dummy sections able to have already registered servers on other sections @@ -9,9 +9,9 @@ - [ ] Add support for wildcards, contains, equalsIgnoreCase and regex at the same time - [x] Add tooltip when you hover over a server in /section info - [ ] Stop using inventivetalent's deprecated bungee-update -- [ ] Create a LobbyBalancer spigot addon that adds connector signs and placeholders +- [ ] Create a spigot addon that adds connector signs and placeholders - [ ] Separate the types of connections in classes instead of being in ConnectionIntent -- [ ] Make the plugin API not be so dependent on a instance of LobbyBalancer +- [ ] Make the plugin API not be so dependent on a instance of PlayerBalancer - [ ] Separate connection providers in classes instead of being hardcoded in an enum - [ ] Make the feature `marker-descs` work per section - [ ] Add a identifier to get the servers of a section (auto complete) diff --git a/pom.xml b/pom.xml index eb01f00..cb73022 100644 --- a/pom.xml +++ b/pom.xml @@ -88,19 +88,18 @@ configme 0.4 compile + + + + org.yaml + snakeyaml + + - - org.apache.httpcomponents - httpclient - 4.5.2 - compile - - - org.apache.httpcomponents - httpmime - 4.3.6 - + + + me.jaimemartz faucet-bungee @@ -116,7 +115,7 @@ compile - + com.imaginarycode.minecraft RedisBungee diff --git a/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java b/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java index 097fef7..2da4d50 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java +++ b/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java @@ -109,7 +109,7 @@ public class PlayerBalancer extends Plugin { getProxy().getPluginManager().registerListener(this, new PlayerDisconnectListener(this)); - getProxy().registerChannel("LobbyBalancer"); + getProxy().registerChannel("PlayerBalancer"); if (ConfigEntries.RECONNECT_KICK_ENABLED.get()) { kickListener = new ServerKickListener(this); diff --git a/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java b/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java index 44b4ce5..27cdb7f 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java +++ b/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java @@ -1,7 +1,7 @@ package com.jaimemartz.playerbalancer.commands; -import com.jaimemartz.playerbalancer.manager.PasteHelper; import com.jaimemartz.playerbalancer.PlayerBalancer; +import com.jaimemartz.playerbalancer.manager.PasteHelper; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.ComponentBuilder; @@ -21,9 +21,9 @@ public class MainCommand extends Command { if (args.length != 0) { switch (args[0].toLowerCase()) { case "paste": { - if (sender.hasPermission("lobbybalancer.admin")) { - PasteHelper.PLUGIN.send(plugin, sender, "Plugin config paste link: {response}"); - PasteHelper.BUNGEE.send(plugin, sender, "Bungee config paste link (IPs stripped): {response}"); + if (sender.hasPermission("playerbalancer.admin")) { + PasteHelper.PLUGIN.send(plugin, sender); + PasteHelper.BUNGEE.send(plugin, sender); } else { sender.sendMessage(new ComponentBuilder("You do not have permission to execute this command!").color(ChatColor.RED).create()); } @@ -31,7 +31,7 @@ public class MainCommand extends Command { } case "reload": { - if (sender.hasPermission("lobbybalancer.admin")) { + if (sender.hasPermission("playerbalancer.admin")) { sender.sendMessage(new ComponentBuilder("Reloading the configuration, this may take a while...").color(ChatColor.GREEN).create()); if (plugin.reloadPlugin()) { sender.sendMessage(new ComponentBuilder("The plugin has successfully reloaded").color(ChatColor.GREEN).create()); @@ -50,7 +50,7 @@ public class MainCommand extends Command { } } else { sender.sendMessage(new ComponentBuilder(StringUtils.repeat('-', 53)).strikethrough(true).color(ChatColor.GRAY).create()); - sender.sendMessage(new ComponentBuilder("LobbyBalancer " + plugin.getDescription().getVersion()).color(ChatColor.GRAY).create()); + sender.sendMessage(new ComponentBuilder("PlayerBalancer " + plugin.getDescription().getVersion()).color(ChatColor.GRAY).create()); sender.sendMessage(new ComponentBuilder("Available commands:").color(ChatColor.GRAY).create()); sender.sendMessage(new ComponentBuilder("/balancer").color(ChatColor.AQUA).append(" - ").color(ChatColor.GRAY).append("Shows you this message").color(ChatColor.RED).create()); sender.sendMessage(new ComponentBuilder("/balancer paste").color(ChatColor.AQUA).append(" - ").color(ChatColor.GRAY).append("Creates a paste with the important files").color(ChatColor.RED).create()); diff --git a/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java b/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java index f3b8e1d..c59a550 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java +++ b/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java @@ -11,14 +11,11 @@ import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; import org.apache.commons.lang3.StringUtils; -import java.util.Iterator; import java.util.Map; -import java.util.Set; public class ManageCommand extends Command { private final PlayerBalancer plugin; @@ -30,7 +27,7 @@ public class ManageCommand extends Command { @Override public void execute(CommandSender sender, String[] args) { - if (sender.hasPermission("lobbybalancer.admin")) { + if (sender.hasPermission("playerbalancer.admin")) { if (args.length != 0) { switch (args[0].toLowerCase()) { case "connect": { diff --git a/src/main/java/com/jaimemartz/playerbalancer/connection/ConnectionIntent.java b/src/main/java/com/jaimemartz/playerbalancer/connection/ConnectionIntent.java index 3b16705..8e7fd4e 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/connection/ConnectionIntent.java +++ b/src/main/java/com/jaimemartz/playerbalancer/connection/ConnectionIntent.java @@ -1,9 +1,9 @@ package com.jaimemartz.playerbalancer.connection; -import com.jaimemartz.playerbalancer.manager.PlayerLocker; -import com.jaimemartz.playerbalancer.ping.ServerStatus; import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.configuration.ConfigEntries; +import com.jaimemartz.playerbalancer.manager.PlayerLocker; +import com.jaimemartz.playerbalancer.ping.ServerStatus; import com.jaimemartz.playerbalancer.section.ServerSection; import com.jaimemartz.playerbalancer.utils.MessageUtils; import net.md_5.bungee.api.config.ServerInfo; diff --git a/src/main/java/com/jaimemartz/playerbalancer/listener/PlayerDisconnectListener.java b/src/main/java/com/jaimemartz/playerbalancer/listener/PlayerDisconnectListener.java index e70f581..dea76d8 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/listener/PlayerDisconnectListener.java +++ b/src/main/java/com/jaimemartz/playerbalancer/listener/PlayerDisconnectListener.java @@ -1,8 +1,8 @@ package com.jaimemartz.playerbalancer.listener; -import com.jaimemartz.playerbalancer.connection.ServerAssignRegistry; import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.configuration.ConfigEntries; +import com.jaimemartz.playerbalancer.connection.ServerAssignRegistry; import com.jaimemartz.playerbalancer.manager.PlayerLocker; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.event.PlayerDisconnectEvent; diff --git a/src/main/java/com/jaimemartz/playerbalancer/listener/PluginMessageListener.java b/src/main/java/com/jaimemartz/playerbalancer/listener/PluginMessageListener.java index b40ee41..cfe25c0 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/listener/PluginMessageListener.java +++ b/src/main/java/com/jaimemartz/playerbalancer/listener/PluginMessageListener.java @@ -82,7 +82,7 @@ public class PluginMessageListener implements Listener { e.printStackTrace(); } - sender.sendData("LobbyBalancer", stream.toByteArray()); + sender.sendData("PlayerBalancer", stream.toByteArray()); break; } diff --git a/src/main/java/com/jaimemartz/playerbalancer/listener/ServerConnectListener.java b/src/main/java/com/jaimemartz/playerbalancer/listener/ServerConnectListener.java index 4fda89a..c51668e 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/listener/ServerConnectListener.java +++ b/src/main/java/com/jaimemartz/playerbalancer/listener/ServerConnectListener.java @@ -1,10 +1,10 @@ package com.jaimemartz.playerbalancer.listener; +import com.jaimemartz.playerbalancer.PlayerBalancer; +import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import com.jaimemartz.playerbalancer.connection.ConnectionIntent; import com.jaimemartz.playerbalancer.connection.ServerAssignRegistry; import com.jaimemartz.playerbalancer.manager.PlayerLocker; -import com.jaimemartz.playerbalancer.PlayerBalancer; -import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import com.jaimemartz.playerbalancer.section.ServerSection; import com.jaimemartz.playerbalancer.utils.MessageUtils; import net.md_5.bungee.api.config.ServerInfo; diff --git a/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java b/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java index 8635137..f7223ca 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java +++ b/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java @@ -3,30 +3,35 @@ package com.jaimemartz.playerbalancer.manager; import com.google.common.io.CharStreams; import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.utils.GuestPaste; -import net.md_5.bungee.api.Callback; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.scheduler.ScheduledTask; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.client.HttpClients; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; +import java.net.URL; import java.util.concurrent.TimeUnit; +import java.util.function.BiConsumer; public enum PasteHelper { - PLUGIN { + PLUGIN((sender, url) -> { + if (sender instanceof ProxiedPlayer) { + sender.sendMessage(new ComponentBuilder("Click me for the plugin configuration") + .event(new ClickEvent(ClickEvent.Action.OPEN_URL, url.toString())) + .color(ChatColor.GREEN) + .create() + ); + } else { + sender.sendMessage(new ComponentBuilder("Plugin configuration link: " + url.toString()).create()); + } + }) { @Override - public String paste(PlayerBalancer plugin) throws Exception { + public URL paste(PlayerBalancer plugin) throws Exception { File file = new File(plugin.getDataFolder(), "config.yml"); - if (!file.exists()) { - return "File does not exist"; - } - try (FileInputStream stream = new FileInputStream(file)) { try (InputStreamReader reader = new InputStreamReader(stream, "UTF-8")) { String content = CharStreams.toString(reader); @@ -47,18 +52,24 @@ public enum PasteHelper { } } }, - BUNGEE { + BUNGEE((sender, url) -> { + if (sender instanceof ProxiedPlayer) { + sender.sendMessage(new ComponentBuilder("Click me for the BungeeCord configuration") + .event(new ClickEvent(ClickEvent.Action.OPEN_URL, url.toString())) + .color(ChatColor.GREEN) + .create() + ); + } else { + sender.sendMessage(new ComponentBuilder("BungeeCord configuration link: " + url.toString()).create()); + } + }) { @Override - public String paste(PlayerBalancer plugin) throws Exception { + public URL paste(PlayerBalancer plugin) throws Exception { File file = new File("config.yml"); - if (!file.exists()) { - return "File does not exist"; - } - try (FileInputStream stream = new FileInputStream(file)) { try (InputStreamReader reader = new InputStreamReader(stream, "UTF-8")) { String content = CharStreams.toString(reader); - content = content.replaceAll("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}", "X.X.X.X"); + content = content.replaceAll("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}", "?.?.?.?"); GuestPaste paste = new GuestPaste("e3ff18d8fb001a3ece08ae0d7d4a87bd", content); paste.setName("{name} ({version}) Configuration" @@ -76,24 +87,43 @@ public enum PasteHelper { } }; - //Cached link of the paste - private String response; + private URL url; private ScheduledTask task = null; - public void send(PlayerBalancer plugin, CommandSender sender, String message) { - try { - sender.sendMessage(new ComponentBuilder(message.replace("{response}", response == null ? response = paste(plugin) : response)).color(ChatColor.GREEN).create()); + private final BiConsumer consumer; + PasteHelper(BiConsumer consumer) { + this.consumer = consumer; + } - if (task != null) { - plugin.getProxy().getScheduler().cancel(task); + public void send(PlayerBalancer plugin, CommandSender sender) { + if (url == null) { + try { + url = paste(plugin); + if (task != null) { + task.cancel(); + } + task = plugin.getProxy().getScheduler().schedule(plugin, () -> { + url = null; + }, 5, TimeUnit.MINUTES); + } catch (GuestPaste.PasteException e) { + sender.sendMessage(new ComponentBuilder("An pastebin exception occurred: " + e.getMessage()) + .color(ChatColor.RED) + .create() + ); + e.printStackTrace(); + } catch (Exception e) { + sender.sendMessage(new ComponentBuilder("An internal error occurred while attempting to perform this command") + .color(ChatColor.RED) + .create() + ); + e.printStackTrace(); } + } - task = plugin.getProxy().getScheduler().schedule(plugin, () -> response = null, 5, TimeUnit.MINUTES); - } catch (Exception e) { - sender.sendMessage(new ComponentBuilder("An internal error occurred while attempting to perform this command").color(ChatColor.RED).create()); - e.printStackTrace(); + if (url != null) { + consumer.accept(sender, url); } } - public abstract String paste(PlayerBalancer plugin) throws Exception; + public abstract URL paste(PlayerBalancer plugin) throws Exception; } diff --git a/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java b/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java index cec6a65..f1f2e4c 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java +++ b/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java @@ -1,8 +1,8 @@ package com.jaimemartz.playerbalancer.ping; +import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import lombok.Getter; import lombok.Setter; -import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import net.md_5.bungee.api.config.ServerInfo; public final class ServerStatus { diff --git a/src/main/java/com/jaimemartz/playerbalancer/section/SectionCommand.java b/src/main/java/com/jaimemartz/playerbalancer/section/SectionCommand.java index 60f3cd1..5cd337b 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/section/SectionCommand.java +++ b/src/main/java/com/jaimemartz/playerbalancer/section/SectionCommand.java @@ -1,9 +1,9 @@ package com.jaimemartz.playerbalancer.section; +import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import com.jaimemartz.playerbalancer.connection.ConnectionIntent; import com.jaimemartz.playerbalancer.utils.MessageUtils; -import com.jaimemartz.playerbalancer.PlayerBalancer; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.ComponentBuilder; diff --git a/src/main/java/com/jaimemartz/playerbalancer/section/SectionManager.java b/src/main/java/com/jaimemartz/playerbalancer/section/SectionManager.java index 412d701..887bf15 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/section/SectionManager.java +++ b/src/main/java/com/jaimemartz/playerbalancer/section/SectionManager.java @@ -1,15 +1,14 @@ package com.jaimemartz.playerbalancer.section; -import lombok.Getter; -import lombok.Setter; import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.configuration.ConfigEntries; +import lombok.Getter; +import lombok.Setter; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.Server; import net.md_5.bungee.api.scheduler.ScheduledTask; import net.md_5.bungee.config.Configuration; -import org.apache.commons.lang3.Validate; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/jaimemartz/playerbalancer/section/ServerSection.java b/src/main/java/com/jaimemartz/playerbalancer/section/ServerSection.java index d12bbb3..baa000b 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/section/ServerSection.java +++ b/src/main/java/com/jaimemartz/playerbalancer/section/ServerSection.java @@ -2,12 +2,12 @@ package com.jaimemartz.playerbalancer.section; import com.google.gson.annotations.Expose; import com.jaimemartz.playerbalancer.PlayerBalancer; +import com.jaimemartz.playerbalancer.connection.ProviderType; import com.jaimemartz.playerbalancer.utils.AlphanumComparator; import com.jaimemartz.playerbalancer.utils.FixedAdapter; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import com.jaimemartz.playerbalancer.connection.ProviderType; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.config.Configuration; diff --git a/src/main/java/com/jaimemartz/playerbalancer/utils/GuestPaste.java b/src/main/java/com/jaimemartz/playerbalancer/utils/GuestPaste.java index 12ae9e9..da1bb5d 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/utils/GuestPaste.java +++ b/src/main/java/com/jaimemartz/playerbalancer/utils/GuestPaste.java @@ -2,19 +2,15 @@ package com.jaimemartz.playerbalancer.utils; import lombok.Data; import lombok.Getter; -import org.apache.http.Consts; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.ParseException; -import org.apache.http.client.HttpClient; -import org.apache.http.client.ResponseHandler; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.util.EntityUtils; -import java.io.IOException; +import javax.net.ssl.HttpsURLConnection; +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.InputStreamReader; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.AbstractMap.SimpleEntry; import java.util.LinkedList; import java.util.List; @@ -33,35 +29,71 @@ public class GuestPaste { this.code = code; } - public String paste() throws Exception { - HttpPost request = new HttpPost("https://pastebin.com/api/api_post.php"); + public URL paste() throws Exception { + URL url = new URL("https://pastebin.com/api/api_post.php"); + HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); - List params = new LinkedList<>(); - params.add(new BasicNameValuePair("api_dev_key", key)); - params.add(new BasicNameValuePair("api_option", "paste")); - params.add(new BasicNameValuePair("api_paste_code", code)); + con.setRequestMethod("POST"); + con.setRequestProperty("User-Agent", "Mozilla/5.0"); + + List> params = new LinkedList<>(); + params.add(new SimpleEntry<>("api_dev_key", key)); + params.add(new SimpleEntry<>("api_option", "paste")); + params.add(new SimpleEntry<>("api_paste_code", code)); if (name != null) { - params.add(new BasicNameValuePair("api_paste_name", name)); + params.add(new SimpleEntry<>("api_paste_name", name)); } if (format != null) { - params.add(new BasicNameValuePair("api_paste_format", format)); + params.add(new SimpleEntry<>("api_paste_format", format)); } if (expiration != null) { - params.add(new BasicNameValuePair("api_paste_expire_date", expiration.getValue())); + params.add(new SimpleEntry<>("api_paste_expire_date", expiration.getValue())); } if (exposure != null) { - params.add(new BasicNameValuePair("api_paste_private", String.valueOf(exposure.getValue()))); + params.add(new SimpleEntry<>("api_paste_private", String.valueOf(exposure.getValue()))); } - HttpEntity entity = new UrlEncodedFormEntity(params, Consts.UTF_8); - request.setEntity(entity); + StringBuilder output = new StringBuilder(); + for (SimpleEntry entry : params) { + if (output.length() > 0) + output.append('&'); - Response response = new Response(); - return client.execute(request, response); + output.append(URLEncoder.encode(entry.getKey(), "UTF-8")); + output.append('='); + output.append(URLEncoder.encode(entry.getValue(), "UTF-8")); + } + + con.setDoOutput(true); + try (DataOutputStream dos = new DataOutputStream(con.getOutputStream())) { + dos.writeBytes(output.toString()); + dos.flush(); + } + + int status = con.getResponseCode(); + if (status >= 200 && status < 300) { + try (InputStreamReader isr = new InputStreamReader(con.getInputStream())) { + try (BufferedReader br = new BufferedReader(isr)) { + String inputLine; + StringBuilder response = new StringBuilder(); + + while ((inputLine = br.readLine()) != null) { + response.append(inputLine); + } + + try { + return new URL(response.toString()); + } catch (MalformedURLException e) { + throw new PasteException("Pastebin error: " + response.toString()); + } + } + } + } else { + throw new PasteException("Unexpected response code " + status); + } } public enum Expiration { @@ -94,22 +126,9 @@ public class GuestPaste { } } - public static class Response implements ResponseHandler { - @Override - public String handleResponse(HttpResponse response) throws IOException { - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity entity = response.getEntity(); - try { - return entity != null ? EntityUtils.toString(entity) : ""; - } catch (ParseException | IOException e) { - return "Error : " + e.getMessage(); - } - } else { - return "Unexpected response status: " + status; - } + public class PasteException extends Exception { + public PasteException(String response) { + super(response); } } - - private static final HttpClient client = HttpClients.createDefault(); } diff --git a/src/test/java/GeneralTest.java b/src/test/java/GeneralTest.java index 3c7c533..4263435 100644 --- a/src/test/java/GeneralTest.java +++ b/src/test/java/GeneralTest.java @@ -1,4 +1,3 @@ -import com.jaimemartz.playerbalancer.utils.GuestPaste; import org.junit.Test; public class GeneralTest {