You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jg...@apache.org on 2007/09/26 16:39:46 UTC

svn commit: r579674 - in /geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec: HttpRequestEncoder.java HttpRequestMessage.java

Author: jgenender
Date: Wed Sep 26 07:39:45 2007
New Revision: 579674

URL: http://svn.apache.org/viewvc?rev=579674&view=rev
Log:
More javadoc

Modified:
    geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestEncoder.java
    geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestMessage.java

Modified: geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestEncoder.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestEncoder.java?rev=579674&r1=579673&r2=579674&view=diff
==============================================================================
--- geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestEncoder.java (original)
+++ geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestEncoder.java Wed Sep 26 07:39:45 2007
@@ -19,7 +19,6 @@
  */
 package org.apache.ahc.codec;
 
-import java.net.URL;
 import java.nio.charset.CharacterCodingException;
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
@@ -36,9 +35,19 @@
 import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
 import org.apache.mina.filter.codec.ProtocolEncoderOutput;
 
+/**
+ * The Class HttpRequestEncoder. This handles the encoding of an {@link HttpRequestMessage} into
+ * raw bytes.
+ */
 public class HttpRequestEncoder extends ProtocolEncoderAdapter {
+    
+    /** The Constant TYPES. */
     private static final Set TYPES;
+    
+    /** The Constant CRLF. */
     private static final byte[] CRLF = new byte[] {0x0D, 0x0A};
+    
+    /** The Constant POST_CONTENT_TYPE. */
     private static final String POST_CONTENT_TYPE = "application/x-www-form-urlencoded";
 
     static {
@@ -47,13 +56,29 @@
         TYPES = Collections.unmodifiableSet(types);
     }
 
+    /**
+     * Instantiates a new http request encoder.
+     */
     public HttpRequestEncoder() {
     }
 
+    /**
+     * Gets the message types for the MINA infrastructure.
+     * 
+     * @return the message types
+     */
     public Set<Class<?>> getMessageTypes() {
         return TYPES;
     }
 
+    /**
+     * Method responsible for encoding a HttpRequestMessage into raw bytes.
+     * 
+     * @param ioSession the {@link org.apache.mina.common.IoSession} representing the connection to the server.
+     * @param object the {@link HttpRequestMessage} object
+     * @param out {@link org.apache.mina.filter.codec.ProtocolEncoderOutput} used for output
+     * @see org.apache.mina.filter.codec.ProtocolEncoder#encode(org.apache.mina.common.IoSession, java.lang.Object, org.apache.mina.filter.codec.ProtocolEncoderOutput)
+     */
     public void encode(IoSession ioSession, Object message, ProtocolEncoderOutput out) throws Exception {
         HttpRequestMessage msg = (HttpRequestMessage)message;
 
@@ -153,6 +178,15 @@
 
     }
 
+    /**
+     * Process header encoding.
+     * 
+     * @param msg the {@link HttpRequestMessage} message object
+     * @param buf the <code>ByteBuffer</code> in which to place the raw bytes
+     * @param encoder the character set encoder
+     * 
+     * @throws Exception if any exception occurs.
+     */
     private void processHeaders(HttpRequestMessage msg, ByteBuffer buf, CharsetEncoder encoder)
         throws Exception {
         List<NameValuePair> headers = msg.getHeaders();
@@ -167,6 +201,15 @@
         }
     }
 
+    /**
+     * Process cookies.
+     * 
+     * @param msg the msg
+     * @param buf the buf
+     * @param encoder the encoder
+     * 
+     * @throws Exception the exception
+     */
     private void processCookies(HttpRequestMessage msg, ByteBuffer buf, CharsetEncoder encoder)
         throws Exception {
         List<Cookie> cookies = msg.getCookies();

Modified: geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestMessage.java?rev=579674&r1=579673&r2=579674&view=diff
==============================================================================
--- geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestMessage.java (original)
+++ geronimo/sandbox/AsyncHttpClient/src/main/java/org/apache/ahc/codec/HttpRequestMessage.java Wed Sep 26 07:39:45 2007
@@ -27,57 +27,135 @@
 import java.util.Map;
 import java.util.concurrent.ScheduledFuture;
 
+/**
+ * The Class HttpRequestMessage. This is an object representation of an HTTP request.
+ */
 public class HttpRequestMessage extends HttpMessage {
 
+    /** The Constant DEFAULT_REQUEST_TIMEOUT. */
     public static final int DEFAULT_REQUEST_TIMEOUT = 30000;
 
+    /** The Constant REQUEST_GET. */
     public static final String REQUEST_GET = "GET";
+    
+    /** The Constant REQUEST_POST. */
     public static final String REQUEST_POST = "POST";
+    
+    /** The Constant REQUEST_HEAD. */
     public static final String REQUEST_HEAD = "HEAD";
+    
+    /** The Constant REQUEST_OPTIONS. */
     public static final String REQUEST_OPTIONS = "OPTIONS";
+    
+    /** The Constant REQUEST_PUT. */
     public static final String REQUEST_PUT = "PUT";
+    
+    /** The Constant REQUEST_DELETE. */
     public static final String REQUEST_DELETE = "DELETE";
+    
+    /** The Constant REQUEST_TRACE. */
     public static final String REQUEST_TRACE = "TRACE";
 
+    /** The request method. */
     private String requestMethod = REQUEST_GET;
+    
+    /** The request url. */
     private URL url;
+    
+    /** The parameters. */
     private Map<String, String> parameters = new HashMap<String, String>();
+    
+    /** The user agent. */
     private String userAgent = "AsyncHttpClient 1.0";
+    
+    /** The follow redirects. */
     private boolean followRedirects = true;
+    
+    /** The timeout handle. */
     private ScheduledFuture timeoutHandle;
+    
+    /** The callback. */
     private AsyncHttpClientCallback callback;
+    
+    /** The time out. */
     private int timeOut = DEFAULT_REQUEST_TIMEOUT;
 
+    /**
+     * Instantiates a new http request message.
+     * 
+     * @param url the complete url for which the request including scheme, host, port[optional], and query 
+     * 				(i.e. <code>http://www.example.com:8080/example.cgi?test=me</code>).
+     * @param callback the {@link org.apache.ahc.AsyncHttpClientCallback} callback class to receive notifications when they occur.
+     */
     public HttpRequestMessage(URL url, AsyncHttpClientCallback callback) {
         this.url = url;
         this.callback = callback;
     }
 
+    /**
+     * Gets the time out.
+     * 
+     * @return the time out in milliseconds.  Defaults to {@link #DEFAULT_REQUEST_TIMEOUT} if not set.
+     */
     public int getTimeOut() {
         return timeOut;
     }
 
+    /**
+     * Sets the time out.
+     * 
+     * @param timeOut the new time out in milliseconds. Defaults to {@link #DEFAULT_REQUEST_TIMEOUT} if not set.
+     */
     public void setTimeOut(int timeOut) {
         this.timeOut = timeOut;
     }
 
+    /**
+     * Gets the timeout handle.
+     * 
+     * @return the timeout <code>ScheduledFuture</code> handle
+     */
     protected ScheduledFuture getTimeoutHandle() {
         return timeoutHandle;
     }
 
+    /**
+     * Sets the timeout handle.
+     * 
+     * @param timeoutHandle the new <code>ScheduledFuture</code> timeout handle
+     */
     protected void setTimeoutHandle(ScheduledFuture timeoutHandle) {
         this.timeoutHandle = timeoutHandle;
     }
 
+    /**
+     * Gets the request method.
+     * 
+     * @return the request method.  Defaults to {@link #REQUEST_GET} if not set.
+     */
     public String getRequestMethod() {
         return requestMethod;
     }
 
 
+    /**
+     * Gets the callback.
+     * 
+     * @return the {@link org.apache.ahc.AsyncHttpClientCallback} callback
+     */
     public AsyncHttpClientCallback getCallback() {
         return callback;
     }
 
+    /**
+     * Sets the request method.
+     * 
+     * @param requestMethod the new request method
+     * 
+     * @throws ProtocolException 	if the request method is not of type {@link #REQUEST_GET},
+     * 								{@link #REQUEST_POST},{@link #REQUEST_HEAD},{@link #REQUEST_OPTIONS},
+     * 								{@link #REQUEST_PUT},{@link #REQUEST_DELETE}, or {@link #REQUEST_TRACE}
+     */
     public void setRequestMethod(String requestMethod) throws ProtocolException {
         if (requestMethod.equals(REQUEST_GET)
             || requestMethod.equals(REQUEST_POST)
@@ -93,22 +171,47 @@
         throw new ProtocolException("Invalid request method type.");
     }
 
+    /**
+     * Gets the url.
+     * 
+     * @return the url
+     */
     public URL getUrl() {
         return url;
     }
 
+    /**
+     * Sets the url.
+     * 
+     * @param url the new url
+     */
     public void setUrl(URL url) {
         this.url = url;
     }
 
+    /**
+     * Gets the path part of the url.
+     * 
+     * @return the path part of the url
+     */
     public String getPath() {
         return url.getPath();
     }
 
+    /**
+     * Gets the host part of the url.
+     * 
+     * @return the host part of the url
+     */
     public String getHost(){
         return url.getHost();
     }
 
+    /**
+     * Gets the port part of the url.
+     * 
+     * @return the port part of the url
+     */
     public int getPort(){
         String scheme = url.getProtocol();
         int port = url.getPort();
@@ -123,38 +226,88 @@
         return port;
     }
 
+    /**
+     * Gets the protocol part of the url.
+     * 
+     * @return the protocol part of the url
+     */
     public String getProtocol(){
         return url.getProtocol();     
     }
 
+    /**
+     * Gets a parameter from the parameter map.
+     * 
+     * @param name the parameter name
+     * 
+     * @return the parameter value
+     */
     public String getParameter(String name) {
         return parameters.get(name);
     }
 
+    /**
+     * Gets the parameter map.
+     * 
+     * @return the parameter map
+     */
     public Map<String, String> getParameters() {
         return parameters;
     }
 
+    /**
+     * Sets the parameter map.
+     * 
+     * @param parameters the parameter map
+     */
     public void setParameters(Map<String, String> parameters) {
         this.parameters.putAll(parameters);
     }
 
+    /**
+     * Sets a single parameter.
+     * 
+     * @param name the parameter name
+     * @param value the value of parameter
+     */
     public void setParameter(String name, String value) {
         parameters.put(name, value);
     }
 
+    /**
+     * Gets the user agent string.
+     * 
+     * @return the user agent <code>String</code>
+     */
     public String getUserAgent() {
         return userAgent;
     }
 
+    /**
+     * Sets the user agent string.
+     * 
+     * @param userAgent the new user agent <code>String</code>
+     */
     public void setUserAgent(String userAgent) {
         this.userAgent = userAgent;
     }
 
+    /**
+     * Checks if the request will follow redirects (301,302 and 307 HTTP status).
+     * 
+     * @return <code>true</code>, if the request will follow redirects, <code>false</code> if not. 
+     * 			 Defaults to <code>true</code> if not set.
+     */
     public boolean isFollowRedirects() {
         return followRedirects;
     }
 
+    /**
+     * Sets whether the request will follow redirects (301,302 and 307 HTTP status).
+     * 
+     * @param followRedirects 	the new follow redirects.  Set to <code>true</code>, if the request 
+     * 							will follow redirects, <code>false</code> if not.
+     */
     public void setFollowRedirects(boolean followRedirects) {
         this.followRedirects = followRedirects;
     }