3
0
Mirror von https://github.com/GeyserMC/Geyser.git synchronisiert 2024-11-19 14:30:17 +01:00

Allow for returning of error messages (#955)

* Allow for returning of error messages

* Fix request not sending before error check
Dieser Commit ist enthalten in:
rtm516 2020-07-14 23:58:09 +01:00 committet von GitHub
Ursprung af0182d116
Commit 64d5390800
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -51,19 +51,7 @@ public class WebUtils {
con.setRequestMethod("GET"); con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Geyser-" + GeyserConnector.getInstance().getPlatformType().toString() + "/" + GeyserConnector.VERSION); // Otherwise Java 8 fails on checking updates con.setRequestProperty("User-Agent", "Geyser-" + GeyserConnector.getInstance().getPlatformType().toString() + "/" + GeyserConnector.VERSION); // Otherwise Java 8 fails on checking updates
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); return connectionToString(con);
String inputLine;
StringBuffer content = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
content.append("\n");
}
in.close();
con.disconnect();
return content.toString();
} catch (Exception e) { } catch (Exception e) {
return e.getMessage(); return e.getMessage();
} }
@ -99,7 +87,27 @@ public class WebUtils {
out.write(postContent.getBytes(StandardCharsets.UTF_8)); out.write(postContent.getBytes(StandardCharsets.UTF_8));
out.close(); out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); return connectionToString(con);
}
/**
* Get the string output from the passed {@link HttpURLConnection}
*
* @param con The connection to get the string from
* @return The body of the returned page
* @throws IOException
*/
private static String connectionToString(HttpURLConnection con) throws IOException {
// Send the request (we dont use this but its required for getErrorStream() to work)
int code = con.getResponseCode();
// Read the error message if there is one if not just read normally
InputStream inputStream = con.getErrorStream();
if (inputStream == null) {
inputStream = con.getInputStream();
}
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String inputLine; String inputLine;
StringBuffer content = new StringBuffer(); StringBuffer content = new StringBuffer();