jericho     01/05/11 14:42:57

  Modified:    httpclient/src/java/org/apache/commons/httpclient
                        HttpMethodBase.java HttpException.java
                        HttpClient.java Authenticator.java
  Log:
  - Distinguish between the http exception by the server and internally produced.
  - Add the internal http exception message automatically in the HttpException class.
  - Save finally the retried 4 socket connections at the maximum per one session.
  
  Revision  Changes    Path
  1.3       +5 -5      
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java
  
  Index: HttpMethodBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HttpMethodBase.java       2001/05/11 07:49:56     1.2
  +++ HttpMethodBase.java       2001/05/11 21:42:46     1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v
 1.2 2001/05/11 07:49:56 jericho Exp $
  - * $Revision: 1.2 $
  - * $Date: 2001/05/11 07:49:56 $
  + * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v
 1.3 2001/05/11 21:42:46 jericho Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/05/11 21:42:46 $
    *
    * ====================================================================
    *
  @@ -98,7 +98,7 @@
       /**
        * Status code.
        */
  -    protected int statusCode = -1;
  +    protected int statusCode = HttpException.METHOD_NOT_PROCESSED;
   
   
       /**
  @@ -374,7 +374,7 @@
        */
       public void recycle() {
           path = "/";
  -        statusCode = -1;
  +        statusCode = HttpException.METHOD_NOT_PROCESSED;
           statusText = "Method Not Processed";
           requestHeaders.clear();
           responseHeaders.clear();
  
  
  
  1.2       +42 -7     
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpException.java
  
  Index: HttpException.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpException.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpException.java        2001/04/25 18:42:50     1.1
  +++ HttpException.java        2001/05/11 21:42:47     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpException.java,v
 1.1 2001/04/25 18:42:50 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/04/25 18:42:50 $
  + * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpException.java,v
 1.2 2001/05/11 21:42:47 jericho Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/11 21:42:47 $
    *
    * ====================================================================
    *
  @@ -73,12 +73,33 @@
       // ----------------------------------------------------- Instance Variables
   
   
  -    protected int statusCode = -1;
  +    /**
  +     * The status code.
  +     */
  +    protected int statusCode;
   
   
  +    /**
  +     * The message.
  +     */
       protected String message = "";
   
   
  +    // -------------------------------------------------------------- Constants
  +
  +
  +    /**
  +     * Method not processed.
  +     */
  +    public static final int METHOD_NOT_PROCESSED = -1;
  +
  +
  +    /**
  +     * No credential given.
  +     */
  +    public static final int NO_CREDENTIALS_GIVEN = -2;
  +
  +
       // ----------------------------------------------------------- Constructors
   
   
  @@ -88,7 +109,7 @@
        * @param message Exception message
        */
       public HttpException(String message) {
  -     this.message = message;
  +        this.message = message;
       }
   
   
  @@ -99,9 +120,23 @@
        */
       public HttpException(int statusCode) {
           this.statusCode = statusCode;
  -        String message = HttpStatus.getStatusText(statusCode);
  -        if (message != null)
  -            this.message = message;
  +        if (statusCode < 0) {
  +            switch (statusCode) {
  +            case HttpException.METHOD_NOT_PROCESSED:
  +                message = "Method not processed";
  +                break;
  +            case HttpException.NO_CREDENTIALS_GIVEN:
  +                message = "No credentials given";
  +                break;
  +            default:
  +                break;
  +            }
  +        } else {
  +            String statusText = HttpStatus.getStatusText(statusCode);
  +            if (statusText != null) {
  +                message = statusText;
  +            }
  +        }
       }
   
   
  
  
  
  1.10      +5 -3      
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java
  
  Index: HttpClient.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- HttpClient.java   2001/05/10 11:02:11     1.9
  +++ HttpClient.java   2001/05/11 21:42:48     1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java,v
 1.9 2001/05/10 11:02:11 jericho Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/05/10 11:02:11 $
  + * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java,v
 1.10 2001/05/11 21:42:48 jericho Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/05/11 21:42:48 $
    *
    * ====================================================================
    *
  @@ -559,6 +559,8 @@
                   } catch (IOException ex) {
                       // Silent catch
                   }
  +                if (e.getStatusCode() == HttpException.NO_CREDENTIALS_GIVEN)
  +                    throw new HttpException(HttpStatus.SC_UNAUTHORIZED);
                   openConnection();
               }
   
  
  
  
  1.2       +3 -4      
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/Authenticator.java
  
  Index: Authenticator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/Authenticator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Authenticator.java        2001/04/25 18:42:50     1.1
  +++ Authenticator.java        2001/05/11 21:42:50     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/Authenticator.java,v
 1.1 2001/04/25 18:42:50 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/04/25 18:42:50 $
  + * $Header: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/Authenticator.java,v
 1.2 2001/05/11 21:42:50 jericho Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/11 21:42:50 $
    *
    * ====================================================================
    *
  @@ -95,8 +95,7 @@
           throws HttpException {
   
           if (credentials == null)
  -            throw new HttpException
  -                ("No credentials given", HttpStatus.SC_UNAUTHORIZED);
  +            throw new HttpException(HttpException.NO_CREDENTIALS_GIVEN);
   
           String challenge = state.getAuthenticateToken();
           if (challenge == null)
  
  
  

Reply via email to