You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2003/02/02 05:30:14 UTC
cvs commit: jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods DeleteMethod.java EntityEnclosingMethod.java GetMethod.java HeadMethod.java MultipartPostMethod.java OptionsMethod.java PostMethod.java PutMethod.java TraceMethod.java
jsdever 2003/02/01 20:30:14
Modified: httpclient/src/java/org/apache/commons/httpclient
HttpMethodBase.java
httpclient/src/java/org/apache/commons/httpclient/methods
DeleteMethod.java EntityEnclosingMethod.java
GetMethod.java HeadMethod.java
MultipartPostMethod.java OptionsMethod.java
PostMethod.java PutMethod.java TraceMethod.java
Log:
Deprecate the useDisk methods in Get, Post and EntityEnclosingMethod.
Improve class documentation of all the HttpMethods.
Contributed by: Jeff Dever
Revision Changes Path
1.108 +34 -72 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.107
retrieving revision 1.108
diff -u -r1.107 -r1.108
--- HttpMethodBase.java 1 Feb 2003 20:40:02 -0000 1.107
+++ HttpMethodBase.java 2 Feb 2003 04:30:13 -0000 1.108
@@ -83,74 +83,46 @@
import org.apache.commons.logging.LogFactory;
/**
+ * An abstract base implementation of HttpMethod.
* <p>
- * An abstract base implementation of {@link HttpMethod}.
- * </p>
- *
- * <p>
- * At minimum, subclasses will need to override
- * </p>
- *
- * <dl>
- * <dt>
- * {@link #getName}
- * </dt>
- * <dd>
- * to return the approriate name for this method
- * </dd>
- * </dl>
+ * At minimum, subclasses will need to override:
+ * <ul>
+ * <li>{@link #getName} to return the approriate name for this method
+ * </li>
+ * </ul>
*
* <p>
* When a method's request may contain a body, subclasses will typically want
* to override:
+ * <ul>
+ * <li>{@link #getRequestContentLength} to indicate the length (in bytes)
+ * of that body</li>
+ * <li>{@link #writeRequestBody writeRequestBody(HttpState,HttpConnection)}
+ * to write the body</li>
+ * </ul>
* </p>
*
- * <dl>
- * <dt>
- * {@link #getRequestContentLength}
- * </dt>
- * <dd>
- * to indicate the length (in bytes) of that body
- * </dd>
- * <dt>
- * {@link #writeRequestBody writeRequestBody(HttpState,HttpConnection)}
- * </dt>
- * <dd>
- * to write the body
- * </dd>
- * </dl>
- *
* <p>
* When a method requires additional request headers, subclasses will typically
* want to override:
+ * <ul>
+ * <li>{@link #addRequestHeaders addRequestHeaders(HttpState,HttpConnection)}
+ * to write those headers
+ * </li>
+ * </ul>
* </p>
*
- * <dl>
- * <dt>
- * {@link #addRequestHeaders addRequestHeaders(HttpState,HttpConnection)}
- * </dt>
- * <dd>
- * to write those headers
- * </dd>
- * </dl>
- *
* <p>
* When a method expects specific response headers, subclasses may want to
* override:
+ * <ul>
+ * <li>{@link #processResponseHeaders processResponseHeaders(HttpState,HttpConnection)}
+ * to handle those headers
+ * </li>
+ * </ul>
* </p>
*
- * <dl>
- * <dt>
- * {@link #processResponseHeaders
- * processResponseHeaders(HttpState,HttpConnection)}
- * </dt>
- * <dd>
- * to handle those headers
- * </dd>
- * </dl>
*
- *
- * @version $Revision$ $Date$
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author Rodney Waldhoff
* @author Sean C. Sullivan
@@ -162,6 +134,8 @@
* @author Michael Becke
* @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
+ *
+ * @version $Revision$ $Date$
*/
public abstract class HttpMethodBase implements HttpMethod {
@@ -169,6 +143,7 @@
/** Maximum number of redirects and authentications that will be followed */
private static final int MAX_FORWARDS = 100;
+
// -------------------------------------------------------------- Constants
/** Log object for this class. */
@@ -696,9 +671,11 @@
*
* <b>Note:</b> The string conversion done on the data is done with the
* default character encoding. The use of this method may be non-portable.
+ * To ensure portability, you can use {@link #getResponseBody()} to get
+ * the body as an array of bytes and then do your own character encoding.
*
- * @return my response body, if any, as a {@link String}. Otherwise return
- * <tt>null</tt>.
+ * @return Stringified form of the responseBody if it exists,
+ * otherwise <tt>null</tt>.
*/
public String getResponseBodyAsString() {
byte[] rawdata = null;
@@ -712,7 +689,6 @@
}
}
-
/**
* Return an array of response footers.
* @return <tt>null</tt> if no footers are available
@@ -879,8 +855,7 @@
}
/**
- * TODO: Determine what the intent of this method is. It appears to be
- * checking validity of the method.
+ * Check to see if the this method is ready to be executed.
*
* @param state The state.
* @param conn The connection.
@@ -901,7 +876,6 @@
if (!validate()) {
throw new HttpException("Not valid");
}
-
if (inExecute) {
throw new IllegalStateException("Execute invoked recursively, or exited abnormally.");
}
@@ -940,15 +914,12 @@
inExecute = true;
try {
- //TODO: This method is too large
-
//pre-emptively add the authorization header, if required.
Authenticator.authenticate(this, state);
if (conn.isProxied()) {
Authenticator.authenticateProxy(this, state);
}
- //Set visited = new HashSet();
realms = new HashSet();
proxyRealms = new HashSet();
int forwardCount = 0; //protect from an infinite loop
@@ -972,16 +943,6 @@
// nope, no retry needed, exit loop.
break;
}
- /*
- Revisiting may be desired. We do not know about the server's internal state.
-
- //check to see if we have visited this url before
- if (visited.contains(generateVisitedKey(conn))) {
- LOG.error("Link " + generateVisitedKey(conn) + "' revisited");
- return statusCode;
- }
- visited.add(generateVisitedKey(conn));
- */
// retry - close previous stream. Caution - this causes
// responseBodyConsumed to be called, which may also close the
@@ -997,6 +958,7 @@
throw new HttpRecoverableException("Maximum redirects ("
+ MAX_FORWARDS + ") exceeded");
}
+
} finally {
inExecute = false;
// If the response has been fully processed, return the connection
1.11 +15 -5 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/DeleteMethod.java
Index: DeleteMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/DeleteMethod.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DeleteMethod.java 28 Jan 2003 22:25:24 -0000 1.10
+++ DeleteMethod.java 2 Feb 2003 04:30:13 -0000 1.11
@@ -67,12 +67,22 @@
/**
- * DELETE Method.
- * Implements an HTTP DELETE request.
+ * Implements the HTTP DELETE specification.
+ * <p>
+ * The HTTP DELETE method is defined in section 9.7 of
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * <blockquote>
+ * The DELETE method requests that the origin server delete the resource
+ * identified by the Request-URI. This method MAY be overridden by human
+ * intervention (or other means) on the origin server.
+ * </blockquote>
+ * </p>
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author <a href="mailto:bcholmes@apache.org">B.C. Holmes</a>
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
*
+ * @version $Revision$
* @since 1.0
*/
public class DeleteMethod
1.5 +10 -6 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/EntityEnclosingMethod.java
Index: EntityEnclosingMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/EntityEnclosingMethod.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EntityEnclosingMethod.java 2 Feb 2003 00:00:23 -0000 1.4
+++ EntityEnclosingMethod.java 2 Feb 2003 04:30:13 -0000 1.5
@@ -87,8 +87,10 @@
* that can enclose an entity within requests
*
* @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
- *
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
+ *
* @since 2.0beta1
+ * @version $Revision$
*/
public abstract class EntityEnclosingMethod extends GetMethod {
@@ -156,6 +158,7 @@
* @param uri either an absolute or relative URI
* @param tempDir directory to store temp files in
*
+ * @deprecated the client is responsible for disk I/O
* @since 2.0
*/
public EntityEnclosingMethod(String uri, String tempDir) {
@@ -170,6 +173,7 @@
* @param tempDir directory to store temp files in
* @param tempFile file to store temporary data in
*
+ * @deprecated the client is responsible for disk I/O
* @since 2.0
*/
public EntityEnclosingMethod(String uri, String tempDir, String tempFile) {
@@ -358,8 +362,8 @@
super.addRequestHeaders(state, conn);
// Send expectation header, provided there's something to be sent
- if (isHttp11() && getUseExpectHeader() &&
- ((this.requestBodyStream != null) || this.buffer != null)) {
+ if (isHttp11() && getUseExpectHeader() && ((this.requestBodyStream != null)
+ || this.buffer != null)) {
if (getRequestHeader("Expect") == null) {
setRequestHeader("Expect", "100-continue");
}
1.23 +71 -13 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/GetMethod.java
Index: GetMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/GetMethod.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- GetMethod.java 28 Jan 2003 22:25:25 -0000 1.22
+++ GetMethod.java 2 Feb 2003 04:30:13 -0000 1.23
@@ -79,41 +79,87 @@
import org.apache.commons.logging.LogFactory;
/**
- * GET Method. Implements an HTTP GET request.
- *
+ * Implements the HTTP GET specification.
+ * <p>
+ * The HTTP GET method is defined in section 8.1 of
+ * <a href="http://www.ietf.org/rfc/rfc1945.txt">RFC1945</a>:
+ * <blockquote>
+ * The GET method means retrieve whatever information (in the form of an
+ * entity) is identified by the Request-URI. If the Request-URI refers
+ * to a data-producing process, it is the produced data which shall be
+ * returned as the entity in the response and not the source text of the
+ * process, unless that text happens to be the output of the process.
+ * </blockquote>
+ * </p>
+ * <p>
+ * GetMethods will follow redirect requests from the http server by default.
+ * This behavour can be disabled by calling setFollowRedirects(false).</p>
+ * <p>
+ * The useDisk methods have been deprecated. Disk I/O is the responsibility
+ * of the client. If you need to write a response body to a file, you
+ * can use the following as an example:
+ * <pre>
+ * out = new FileOutputStream(myFile);
+ * InputStream in = getResponseBodyAsStream();
+ * byte[] buffer = new byte[10000];
+ * int len ;
+ * while ((len = in.read(buffer)) > 0) {
+ * out.write(buffer, 0, len);
+ * }
+ * in.close();
+ * out.close();
+ * </pre>
+ * </p>
+ *
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author Sung-Gu Park
* @author Sean C. Sullivan
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
+ *
+ * @version $Revision$
* @since 1.0
*/
public class GetMethod extends HttpMethodBase {
- //~ Static variables/initializers ������������������������������������������
// -------------------------------------------------------------- Constants
/** Log object for this class. */
private static final Log LOG = LogFactory.getLog(GetMethod.class);
- /** Temporary directory. */
+ /**
+ * Temporary directory.
+ * @deprecated the client is responsible for disk I/O
+ */
private static final String TEMP_DIR = "temp/";
// ----------------------------------------------------- Instance Variables
- /** File which contains the buffered data. */
+ /**
+ * File which contains the buffered data.
+ * @deprecated the client is responsible for disk I/O
+ */
private File fileData;
- /** Temporary directory to use. */
+ /**
+ * Temporary directory to use.
+ * @deprecated the client is responsible for disk I/O
+ */
private String tempDir = TEMP_DIR;
- /** Temporary file to use. */
+ /**
+ * Temporary file to use.
+ * @deprecated the client is responsible for disk I/O
+ */
private String tempFile = null;
- /** By default, the get method will buffer read data to the memory. */
+ /**
+ * By default, the get method will buffer read data to the memory.
+ * @deprecated the client is responsible for disk I/O
+ */
private boolean useDisk = false;
- //~ Constructors �����������������������������������������������������������
// ----------------------------------------------------------- Constructors
@@ -145,6 +191,7 @@
* @param path the path to request
* @param tempDir the directory in which to store temporary files
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public GetMethod(String path, String tempDir) {
@@ -162,6 +209,7 @@
* @param tempDir the directory in which to store temporary files
* @param tempFile the file (under tempDir) to buffer contents to
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public GetMethod(String path, String tempDir, String tempFile) {
@@ -179,6 +227,7 @@
* @param path the path to request
* @param fileData the file to buffer contents to
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public GetMethod(String path, File fileData) {
@@ -196,6 +245,7 @@
*
* @param fileData the file to buffer data to
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public void setFileData(File fileData) {
@@ -208,6 +258,7 @@
*
* @return the file being used for buffering data
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public File getFileData() {
@@ -265,6 +316,7 @@
*
* @param tempDir New value of tempDir
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public void setTempDir(String tempDir) {
@@ -278,6 +330,7 @@
*
* @return the current temporary directory
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public String getTempDir() {
@@ -289,6 +342,7 @@
*
* @param tempFile New value of tempFile
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public void setTempFile(String tempFile) {
@@ -301,6 +355,7 @@
*
* @return the current temporary file
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public String getTempFile() {
@@ -315,6 +370,7 @@
* @param useDisk If true the entire response will be buffered in a
* temporary file.
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public void setUseDisk(boolean useDisk) {
@@ -327,6 +383,7 @@
*
* @return true if the response will be buffered
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public boolean getUseDisk() {
@@ -365,7 +422,6 @@
super.readResponseBody(state, conn);
-
OutputStream out = null;
if (useDisk) {
out = new FileOutputStream(createTempFile());
@@ -385,6 +441,8 @@
* Returns the file buffer, creating it if necessary. The created file is
* deleted when the VM exits.
* @return Temporary file to hold the data buffer.
+ *
+ * @deprecated the client is responsible for disk I/O
*/
private File createTempFile() {
if (fileData == null) {
1.17 +21 -4 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/HeadMethod.java
Index: HeadMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/HeadMethod.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- HeadMethod.java 31 Jan 2003 00:33:36 -0000 1.16
+++ HeadMethod.java 2 Feb 2003 04:30:13 -0000 1.17
@@ -72,10 +72,27 @@
import org.apache.commons.logging.LogFactory;
/**
- * HEAD Method.
+ * Implements the HTTP HEAD specification.
+ * <p>
+ * The HTTP HEAD method is defined in section 8.2 of
+ * <a href="http://www.ietf.org/rfc/rfc1945.txt">RFC1945</a>:
+ * <blockquote>
+ * The HEAD method is identical to GET except that the server MUST NOT
+ * return a message-body in the response. The metainformation contained
+ * in the HTTP headers in response to a HEAD request SHOULD be identical
+ * to the information sent in response to a GET request. This method can
+ * be used for obtaining metainformation about the entity implied by the
+ * request without transferring the entity-body itself. This method is
+ * often used for testing hypertext links for validity, accessibility,
+ * and recent modification.
+ * </blockquote>
+ * </p>
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
+ *
+ * @version $Revision$
* @since 1.0
*/
public class HeadMethod extends HttpMethodBase {
1.8 +5 -3 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/MultipartPostMethod.java
Index: MultipartPostMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/MultipartPostMethod.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MultipartPostMethod.java 28 Jan 2003 22:25:25 -0000 1.7
+++ MultipartPostMethod.java 2 Feb 2003 04:30:13 -0000 1.8
@@ -82,6 +82,8 @@
/**
* POST Method for Multipart encoded forms.
*
+ * TODO: Privide decent class documentation
+ *
* @author <a href="mailto:mattalbright@yahoo.com">Matthew Albright</a>
* @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
* @author <a href="mailto:adrian@ephox.com">Adrian Sutton</a>
1.12 +18 -4 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/OptionsMethod.java
Index: OptionsMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/OptionsMethod.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- OptionsMethod.java 28 Jan 2003 22:25:25 -0000 1.11
+++ OptionsMethod.java 2 Feb 2003 04:30:13 -0000 1.12
@@ -76,11 +76,25 @@
/**
- * OPTIONS Method.
+ * Implements the HTTP OPTIONS specification.
+ * <p>
+ * The HTTP OPTIONS method is defined in section 9.2 of
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * <blockquote>
+ * The OPTIONS method represents a request for information about the
+ * communication options available on the request/response chain
+ * identified by the Request-URI. This method allows the client to
+ * determine the options and/or requirements associated with a resource,
+ * or the capabilities of a server, without implying a resource action
+ * or initiating a resource retrieval.
+ * </blockquote>
+ * </p>
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
*
+ * @version $Revision$
* @since 1.0
*/
public class OptionsMethod
1.37 +18 -21 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/PostMethod.java
Index: PostMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/PostMethod.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- PostMethod.java 1 Feb 2003 06:46:10 -0000 1.36
+++ PostMethod.java 2 Feb 2003 04:30:13 -0000 1.37
@@ -78,32 +78,25 @@
import org.apache.commons.logging.LogFactory;
/**
- * POST Method. This class encapsulates the HTTP POST specification. According
- * to <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * Implements the HTTP POST specification.
+ * <p>
+ * The HTTP POST method is defined in section 8.3 of
+ * <a href="http://www.ietf.org/rfc/rfc1945.txt">RFC1945</a>:
* <blockquote>
* The POST method is used to request that the origin server accept the entity
* enclosed in the request as a new subordinate of the resource identified by
* the Request-URI in the Request-Line. POST is designed to allow a uniform
* method to cover the following functions:
- *
* <ul>
- * <li>
- * Annotation of existing resources;
- * </li>
- * <li>
- * Posting a message to a bulletin board, newsgroup, mailing list, or similar
- * group of articles;
- * </li>
- * <li>
- * Providing a block of data, such as the result of submitting a form, to a
- * data-handling process;
- * </li>
- * <li>
- * Extending a database through an append operation.
- * </li>
+ * <li>Annotation of existing resources</li>
+ * <li>Posting a message to a bulletin board, newsgroup, mailing list, or
+ * similar group of articles</li>
+ * <li>Providing a block of data, such as the result of submitting a form,
+ * to a data-handling process</li>
+ * <li>Extending a database through an append operation</li>
* </ul>
- *
* </blockquote>
+ * </p>
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author <a href="mailto:dsale@us.britannica.com">Doug Sale</a>
@@ -111,6 +104,8 @@
* @author Ortwin Gl�ck
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
* @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
* @since 1.0
*/
public class PostMethod extends EntityEnclosingMethod {
@@ -167,6 +162,7 @@
* @param uri either an absolute or relative URI
* @param tempDir directory to store temp files in
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public PostMethod(String uri, String tempDir) {
@@ -180,6 +176,7 @@
* @param tempDir directory to store temp files in
* @param tempFile file to store temporary data in
*
+ * @deprecated the client is responsible for disk I/O
* @since 1.0
*/
public PostMethod(String uri, String tempDir, String tempFile) {
1.23 +17 -7 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/PutMethod.java
Index: PutMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/PutMethod.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- PutMethod.java 1 Feb 2003 06:46:10 -0000 1.22
+++ PutMethod.java 2 Feb 2003 04:30:13 -0000 1.23
@@ -64,19 +64,29 @@
package org.apache.commons.httpclient.methods;
/**
- * PUT Method.
- *
+ * Implements the HTTP PUT specification.
+ * <p>
+ * The HTTP PUT method is defined in section 9.6 of
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * <blockquote>
+ * The PUT method requests that the enclosed entity be stored under the
+ * supplied Request-URI. If the Request-URI refers to an already
+ * existing resource, the enclosed entity SHOULD be considered as a
+ * modified version of the one residing on the origin server.
+ * </blockquote>
+ * </p>
+ *
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
* @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
*
+ * @version $Revision$
* @since 1.0
*/
public class PutMethod extends EntityEnclosingMethod {
-
// ----------------------------------------------------------- Constructors
-
/**
* No-arg constructor.
1.11 +18 -11 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/TraceMethod.java
Index: TraceMethod.java
===================================================================
RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/TraceMethod.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- TraceMethod.java 30 Jan 2003 05:01:55 -0000 1.10
+++ TraceMethod.java 2 Feb 2003 04:30:13 -0000 1.11
@@ -68,19 +68,26 @@
import org.apache.commons.logging.LogFactory;
/**
- *
- * TRACE method.
- *
- * @see DeleteMethod
- * @see GetMethod
- * @see HeadMethod
- * @see OptionsMethod
- * @see PostMethod
- * @see PutMethod
- *
+ * Implements the HTTP TRACE specification.
+ * <p>
+ * The HTTP TRACE method is defined in section 9.6 of
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * <blockquote>
+ * The TRACE method is used to invoke a remote, application-layer loop-
+ * back of the request message. The final recipient of the request
+ * SHOULD reflect the message received back to the client as the
+ * entity-body of a 200 (OK) response. The final recipient is either the
+ * origin server or the first proxy or gateway to receive a Max-Forwards
+ * value of zero (0) in the request (see section 14.31). A TRACE request
+ * MUST NOT include an entity.
+ * </blockquote>
+ * </p>
+ *
* @author Sean C. Sullivan
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
- *
+ * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
+ *
+ * @version $Revision$
* @since 2.0
*
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org