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();
             }