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)