WebhookClient: Simplify getResponse method
Change-Id: Id437e303f516d397845cef20a6076cb587a2213b
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/client/WebhookClient.java b/src/main/java/com/cisco/gerrit/plugins/slack/client/WebhookClient.java
index 889c818..28d9f90 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/client/WebhookClient.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/client/WebhookClient.java
@@ -23,6 +23,7 @@
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.util.Scanner;
import org.slf4j.Logger;
@@ -159,6 +160,18 @@
}
}
+ private InputStream getResponseStream(HttpURLConnection connection)
+ {
+ try
+ {
+ return connection.getInputStream();
+ }
+ catch (IOException e)
+ {
+ return connection.getErrorStream();
+ }
+ }
+
/**
* Gets the response payload.
*
@@ -167,59 +180,17 @@
*/
private String getResponse(HttpURLConnection connection)
{
- String response;
-
- InputStream responseStream;
- responseStream = null;
- try
+ try (InputStream responseStream = getResponseStream(connection);
+ Scanner scanner = new Scanner(responseStream, StandardCharsets.UTF_8.name()))
{
- responseStream = connection.getInputStream();
- response = readResponse(responseStream);
+ scanner.useDelimiter("\\A");
+ return scanner.next();
}
catch (IOException e)
{
- responseStream = connection.getErrorStream();
- response = readResponse(responseStream);
+ LOGGER.debug("Error closing response stream: " +
+ e.getMessage());
}
- finally
- {
- if (responseStream != null)
- {
- try
- {
- responseStream.close();
- }
- catch (IOException e)
- {
- LOGGER.debug("Error closing response stream: " +
- e.getMessage());
- }
- }
- }
-
- return response;
- }
-
- /**
- * Reads the response from the response InputStream.
- *
- * @param responseStream The response stream from the connection.
- * @return The string representation of the response.
- */
- private String readResponse(InputStream responseStream)
- {
- try
- {
- Scanner scanner;
- scanner = new Scanner(responseStream, "UTF-8");
- scanner.useDelimiter("\\A");
-
- return scanner.next();
- }
- catch (Exception e)
- {
- throw new RuntimeException(
- "Error reading response: [" + e.getMessage() + "].", e);
- }
+ return null;
}
}