You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2016/05/17 09:52:57 UTC
svn commit: r1744231 -
/sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java
Author: bdelacretaz
Date: Tue May 17 09:52:57 2016
New Revision: 1744231
URL: http://svn.apache.org/viewvc?rev=1744231&view=rev
Log:
SLING-5715 - Do not open input streams if no HTTP status received
Modified:
sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java
Modified: sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java?rev=1744231&r1=1744230&r2=1744231&view=diff
==============================================================================
--- sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java (original)
+++ sling/trunk/testing/junit/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/TeleporterHttpClient.java Tue May 17 09:52:57 2016
@@ -138,11 +138,17 @@ class TeleporterHttpClient {
c.setDoOutput(true);
c.setDoInput(true);
c.setInstanceFollowRedirects(false);
+ boolean gotStatus = false;
+ int result = 0;
try {
- return c.getResponseCode();
+ result = c.getResponseCode();
+ gotStatus = true;
} finally {
- cleanup(c);
+ // If we didn't get a status, do not attempt
+ // to get input streams as this would retry connecting
+ cleanup(c, gotStatus);
}
+ return result;
}
void runTests(String testSelectionPath, int testReadyTimeoutSeconds) throws MalformedURLException, IOException, MultipleFailureException {
@@ -202,13 +208,19 @@ class TeleporterHttpClient {
}
private void cleanup(HttpURLConnection c) {
- try {
- consumeAndClose(c.getInputStream());
- } catch(IOException ignored) {
- }
- try {
- consumeAndClose(c.getErrorStream());
- } catch(IOException ignored) {
+ cleanup(c, true);
+ }
+
+ private void cleanup(HttpURLConnection c, boolean includeInputStreams) {
+ if(includeInputStreams) {
+ try {
+ consumeAndClose(c.getInputStream());
+ } catch(IOException ignored) {
+ }
+ try {
+ consumeAndClose(c.getErrorStream());
+ } catch(IOException ignored) {
+ }
}
c.disconnect();
}