1
0
mirror of https://github.com/google/nomulus synced 2025-12-23 06:15:42 +00:00

UrlConnectionException loses error info (#2648)

It does not get the error message for 400+ status codes.

It fails to get the status code if the response has neither data nor
error.
This commit is contained in:
Weimin Yu
2025-01-23 11:27:03 -05:00
committed by GitHub
parent b775e4a178
commit 229fcf3946

View File

@@ -37,13 +37,14 @@ public class UrlConnectionException extends RuntimeException {
@Override
public String getMessage() {
byte[] resultContent;
int responseCode;
int responseCode = 0;
try {
resultContent = ByteStreams.toByteArray(connection.getInputStream());
responseCode = connection.getResponseCode();
} catch (IOException e) {
resultContent = new byte[] {};
responseCode = 0;
resultContent =
ByteStreams.toByteArray(
responseCode < 400 ? connection.getInputStream() : connection.getErrorStream());
} catch (IOException | NullPointerException e) {
resultContent = "-- Response is missing or has malformed content --".getBytes(UTF_8);
}
StringBuilder result =
new StringBuilder(2048 + resultContent.length)