You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/10/22 05:04:44 UTC
[6/9] git commit: Try to make sure the connection is a consistent
(re-usable) state prior to closing the response
Try to make sure the connection is a consistent (re-usable) state prior to closing the response
Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/70e42612
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/70e42612
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/70e42612
Branch: refs/heads/master
Commit: 70e4261277544dcc5fc40b9521bcad928dcc9607
Parents: 008accb
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Tue Sep 24 15:12:50 2013 +0200
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Tue Sep 24 15:12:50 2013 +0200
----------------------------------------------------------------------
.../providers/http/AbstractHttpClientWagon.java | 17 ++++++++++++-----
.../maven/wagon/providers/http/HttpWagon.java | 14 +++++++++++---
2 files changed, 23 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/70e42612/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
index 0fd7ada..8df1404 100755
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
@@ -78,6 +78,7 @@ import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EntityUtils;
import org.apache.maven.wagon.InputData;
import org.apache.maven.wagon.OutputData;
import org.apache.maven.wagon.PathUtils;
@@ -561,6 +562,8 @@ public abstract class AbstractHttpClientWagon
}
firePutCompleted(resource, source);
+
+ EntityUtils.consume(response.getEntity());
}
finally
{
@@ -607,13 +610,15 @@ public abstract class AbstractHttpClientWagon
try {
int statusCode = response.getStatusLine().getStatusCode();
String reasonPhrase = ", ReasonPhrase: " + response.getStatusLine().getReasonPhrase() + ".";
+ boolean result;
switch ( statusCode )
{
case HttpStatus.SC_OK:
- return true;
-
+ result = true;
+ break;
case HttpStatus.SC_NOT_MODIFIED:
- return true;
+ result = true;
+ break;
case HttpStatus.SC_FORBIDDEN:
throw new AuthorizationException( "Access denied to: " + url + reasonPhrase );
@@ -624,14 +629,16 @@ public abstract class AbstractHttpClientWagon
throw new AuthorizationException( "Not authorized by proxy " + reasonPhrase );
case HttpStatus.SC_NOT_FOUND:
- return false;
-
+ result = false;
+ break;
//add more entries here
default:
throw new TransferFailedException(
"Failed to transfer file: " + url + ". Return code is: " + statusCode + reasonPhrase );
}
+ EntityUtils.consume(response.getEntity());
+ return result;
}
finally
{
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/70e42612/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
index c06f2cc..fa68341 100755
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
@@ -21,8 +21,10 @@ package org.apache.maven.wagon.providers.http;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Collections;
import java.util.List;
+import org.apache.http.HttpEntity;
import org.apache.http.HttpException;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -81,10 +83,16 @@ public class HttpWagon
throw new TransferFailedException(
"Failed to transfer file: " + url + ". Return code is: " + statusCode );
}
+ HttpEntity entity = response.getEntity();
+ if ( entity != null )
+ {
+ return HtmlFileListParser.parseFileList( url, entity.getContent() );
+ }
+ else
+ {
+ return Collections.emptyList();
+ }
- InputStream is = response.getEntity().getContent();
-
- return HtmlFileListParser.parseFileList( url, is );
} finally {
response.close();
}