Author: olamy
Date: Thu Sep 22 15:44:59 2011
New Revision: 1174221

URL: http://svn.apache.org/viewvc?rev=1174221&view=rev
Log:
[WAGON-322] fix Reason-Phrase in the exception

Modified:
    
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
    
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/ErrorWithReasonPhaseServlet.java

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=1174221&r1=1174220&r2=1174221&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
 Thu Sep 22 15:44:59 2011
@@ -547,8 +547,8 @@ public abstract class AbstractHttpClient
             }
 
             int statusCode = response.getStatusLine().getStatusCode();
-
-            fireTransferDebug( url + " - Status code: " + statusCode );
+            String reasonPhrase = ", ReasonPhrase:" + 
response.getStatusLine().getReasonPhrase() + ".";
+            fireTransferDebug( url + " - Status code: " + statusCode + 
reasonPhrase );
 
             // Check that we didn't run out of retries.
             switch ( statusCode )
@@ -562,23 +562,24 @@ public abstract class AbstractHttpClient
 
                 case SC_NULL:
                 {
-                    TransferFailedException e = new TransferFailedException( 
"Failed to transfer file: " + url );
+                    TransferFailedException e =
+                        new TransferFailedException( "Failed to transfer file: 
" + url + reasonPhrase );
                     fireTransferError( resource, e, TransferEvent.REQUEST_PUT 
);
                     throw e;
                 }
 
                 case HttpStatus.SC_FORBIDDEN:
                     fireSessionConnectionRefused();
-                    throw new AuthorizationException( "Access denied to: " + 
url );
+                    throw new AuthorizationException( "Access denied to: " + 
url + reasonPhrase );
 
                 case HttpStatus.SC_NOT_FOUND:
-                    throw new ResourceDoesNotExistException( "File: " + url + 
" does not exist" );
+                    throw new ResourceDoesNotExistException( "File: " + url + 
" does not exist" + reasonPhrase );
 
                     //add more entries here
                 default:
                 {
                     TransferFailedException e = new TransferFailedException(
-                        "Failed to transfer file: " + url + ". Return code is: 
" + statusCode );
+                        "Failed to transfer file: " + url + ". Return code is: 
" + statusCode + reasonPhrase );
                     fireTransferError( resource, e, TransferEvent.REQUEST_PUT 
);
                     throw e;
                 }
@@ -622,6 +623,7 @@ public abstract class AbstractHttpClient
         try
         {
             statusCode = response.getStatusLine().getStatusCode();
+            String reasonPhrase = ", ReasonPhrase:" + 
response.getStatusLine().getReasonPhrase() + ".";
             switch ( statusCode )
             {
                 case HttpStatus.SC_OK:
@@ -631,16 +633,16 @@ public abstract class AbstractHttpClient
                     return true;
 
                 case SC_NULL:
-                    throw new TransferFailedException( "Failed to transfer 
file: " + url );
+                    throw new TransferFailedException( "Failed to transfer 
file: " + url + reasonPhrase );
 
                 case HttpStatus.SC_FORBIDDEN:
-                    throw new AuthorizationException( "Access denied to: " + 
url );
+                    throw new AuthorizationException( "Access denied to: " + 
url + reasonPhrase );
 
                 case HttpStatus.SC_UNAUTHORIZED:
-                    throw new AuthorizationException( "Not authorized." );
+                    throw new AuthorizationException( "Not authorized" + 
reasonPhrase );
 
                 case HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED:
-                    throw new AuthorizationException( "Not authorized by 
proxy." );
+                    throw new AuthorizationException( "Not authorized by 
proxy" + reasonPhrase );
 
                 case HttpStatus.SC_NOT_FOUND:
                     return false;
@@ -648,7 +650,7 @@ public abstract class AbstractHttpClient
                 //add more entries here
                 default:
                     throw new TransferFailedException(
-                        "Failed to transfer file: " + url + ". Return code is: 
" + statusCode );
+                        "Failed to transfer file: " + url + ". Return code is: 
" + statusCode + reasonPhrase );
             }
         }
         finally
@@ -801,20 +803,9 @@ public abstract class AbstractHttpClient
 
         statusCode = response.getStatusLine().getStatusCode();
 
-        Header[] reasonPhraseHeaders = response.getHeaders( "Reason-Phrase" );
-        StringBuilder reasonPhrase = new StringBuilder();
-        boolean foundReasonPhrase = false;
-        if ( reasonPhraseHeaders != null && reasonPhraseHeaders.length > 0 )
-        {
-            reasonPhrase.append( ", Reason-Phrase: " );
-            foundReasonPhrase = true;
-            for ( Header header : reasonPhraseHeaders )
-            {
-                reasonPhrase.append( header.getValue() ).append( " " );
-            }
-        }
+        String reasonPhrase = ", ReasonPhrase:" + 
response.getStatusLine().getReasonPhrase() + ".";
 
-        fireTransferDebug( url + " - Status code: " + statusCode );
+        fireTransferDebug( url + " - Status code: " + statusCode + 
reasonPhrase );
 
         // TODO [BP]: according to httpclient docs, really should swallow the 
output on error. verify if that is
         // required
@@ -829,33 +820,33 @@ public abstract class AbstractHttpClient
 
             case SC_NULL:
             {
-                TransferFailedException e = new TransferFailedException(
-                    "Failed to transfer file: " + url + ( foundReasonPhrase ? 
reasonPhrase.toString() : "" ) );
+                TransferFailedException e =
+                    new TransferFailedException( "Failed to transfer file: " + 
url + reasonPhrase );
                 fireTransferError( resource, e, TransferEvent.REQUEST_GET );
                 throw e;
             }
 
             case HttpStatus.SC_FORBIDDEN:
                 fireSessionConnectionRefused();
-                throw new AuthorizationException( "Access denied to: " + url+ 
( foundReasonPhrase ? reasonPhrase.toString() : "" ) );
+                throw new AuthorizationException( "Access denied to: " + url + 
reasonPhrase );
 
             case HttpStatus.SC_UNAUTHORIZED:
                 fireSessionConnectionRefused();
-                throw new AuthorizationException( "Not authorized" + ( 
foundReasonPhrase ? reasonPhrase.toString() : "." ) );
+                throw new AuthorizationException( "Not authorized" + 
reasonPhrase );
 
             case HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED:
                 fireSessionConnectionRefused();
-                throw new AuthorizationException( "Not authorized by proxy" + 
( foundReasonPhrase ? reasonPhrase.toString() : "." ) );
+                throw new AuthorizationException( "Not authorized by proxy" + 
reasonPhrase );
 
             case HttpStatus.SC_NOT_FOUND:
-                throw new ResourceDoesNotExistException( "File: " + url + " 
does not exist"+ ( foundReasonPhrase ? reasonPhrase.toString() : "" ) );
+                throw new ResourceDoesNotExistException( "File: " + url + 
reasonPhrase );
 
                 // add more entries here
             default:
             {
                 cleanupGetTransfer( resource );
                 TransferFailedException e = new TransferFailedException(
-                    "Failed to transfer file: " + url + ". Return code is: " + 
statusCode+ ( foundReasonPhrase ? reasonPhrase.toString() : "" ) );
+                    "Failed to transfer file: " + url + ". Return code is: " + 
statusCode + reasonPhrase );
                 fireTransferError( resource, e, TransferEvent.REQUEST_GET );
                 throw e;
             }

Modified: 
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/ErrorWithReasonPhaseServlet.java
URL: 
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/ErrorWithReasonPhaseServlet.java?rev=1174221&r1=1174220&r2=1174221&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/ErrorWithReasonPhaseServlet.java
 (original)
+++ 
maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/ErrorWithReasonPhaseServlet.java
 Thu Sep 22 15:44:59 2011
@@ -44,20 +44,20 @@ public class ErrorWithReasonPhaseServlet
     {
         if ( request.getRequestURL().toString().contains( "401" ) )
         {
-            response.setStatus( 401 );
+            response.sendError( 401, REASON );
         }
         else if ( request.getRequestURL().toString().contains( "403" ) )
         {
-            response.setStatus( 403 );
+            response.sendError( 403, REASON );
         }
         else if ( request.getRequestURL().toString().contains( "407" ) )
         {
-            response.setStatus( 407 );
+            response.sendError( 407, REASON );
         }
         else if ( request.getRequestURL().toString().contains( "500" ) )
         {
-            response.setStatus( 500 );
+            response.sendError( 500, REASON );
         }
-        response.addHeader( "Reason-Phrase", REASON );
+
     }
 }


Reply via email to