2003-12-04 Michael Koch <konqueror@gmx.de>
authorMichael Koch <konqueror@gmx.de>
Thu, 4 Dec 2003 17:52:01 +0000 (17:52 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Thu, 4 Dec 2003 17:52:01 +0000 (17:52 +0000)
* gnu/java/net/protocol/http/Connection.java
(sendRequest): Merged writing http headers with classpath.
(getInputStream): Merged documentation from classpath.
(getHeaderField): Likewise.
(getHeaderFieldKey): Likewise.

From-SVN: r74283

libjava/ChangeLog
libjava/gnu/java/net/protocol/http/Connection.java

index a34242245eaf95f7eba6df9446246c757d42146b..99b92503635a4d3d7ba4861aa53742ba0b0fd79b 100644 (file)
@@ -1,3 +1,11 @@
+2003-12-04  Michael Koch  <konqueror@gmx.de>
+
+       * gnu/java/net/protocol/http/Connection.java
+       (sendRequest): Merged writing http headers with classpath.
+       (getInputStream): Merged documentation from classpath.
+       (getHeaderField): Likewise.
+       (getHeaderFieldKey): Likewise.
+
 2003-12-04  Michael Koch  <konqueror@gmx.de>
 
        * boehm.cc (_Jv_MarkObj): Access hack_signers field.
index ae13dff8506136aed3ddffc539da775dc06f41e2..b564afb376f03514ef5e23a19215abdaade7d797 100644 (file)
@@ -48,10 +48,10 @@ import java.net.ProtocolException;
 import java.net.Socket;
 import java.net.URL;
 import java.net.URLConnection;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Vector;
 import java.util.Hashtable;
-import java.util.Enumeration;
 
 /**
  * This subclass of java.net.URLConnection models a URLConnection via
@@ -212,12 +212,14 @@ public final class Connection extends HttpURLConnection
       setRequestProperty ("Host", url.getHost());
     
     // Write all req_props name-value pairs to the output writer.
-    Enumeration reqKeys = requestProperties.keys();
-    Enumeration reqVals = requestProperties.elements();
-    
-    while (reqKeys.hasMoreElements())
-      outputWriter.print (reqKeys.nextElement() + ": " + reqVals.nextElement() + "\r\n");
-    
+    Iterator itr = getRequestProperties().entrySet().iterator();
+
+    while (itr.hasNext())
+      {
+        Map.Entry e = (Map.Entry) itr.next();
+        outputWriter.print (e.getKey() + ": " + e.getValue() + "\r\n");
+      }
+
     // One more CR-LF indicates end of header.
     outputWriter.print ("\r\n");
     outputWriter.flush();
@@ -234,6 +236,15 @@ public final class Connection extends HttpURLConnection
     return proxyInUse;
   }
 
+  /**
+   * Returns an InputStream for reading from this connection.  This stream
+   * will be "queued up" for reading just the contents of the requested file.
+   * Overrides URLConnection.getInputStream()
+   *
+   * @return An InputStream for this connection.
+   *
+   * @exception IOException If an error occurs
+   */
   public InputStream getInputStream() throws IOException
   {
     if (!connected)
@@ -256,6 +267,25 @@ public final class Connection extends HttpURLConnection
     return socket.getOutputStream();
   }
 
+  /**
+   * Overrides java.net.HttpURLConnection.setRequestMethod() in order to
+   * restrict the available methods to only those we support.
+   *
+   * @param method The RequestMethod to use
+   *
+   * @exception ProtocolException If the specified method is not valid
+   */
+  public void setRequestMethod (String method) throws ProtocolException
+  {
+    method = method.toUpperCase();
+    
+    if (method.equals("GET"))
+      super.setRequestMethod (method);
+    else
+      throw new ProtocolException ("Unsupported or unknown request method " +
+                                   method);
+  }
+
   public String getHeaderField(String name)
   {
     if (!connected)
@@ -286,6 +316,15 @@ public final class Connection extends HttpURLConnection
     return hdrHash;
   }
 
+  /**
+   * This method returns the header field value at the specified numeric
+   * index.
+   *
+   * @param n The index into the header field array
+   *
+   * @return The value of the specified header field, or <code>null</code>
+   * if the specified index is not valid.
+   */
   public String getHeaderField(int n)
   {
     if (!connected)
@@ -303,6 +342,15 @@ public final class Connection extends HttpURLConnection
     return null;
   }
 
+  /**
+   * This method returns the header field key at the specified numeric
+   * index.
+   *
+   * @param n The index into the header field array
+   *
+   * @return The name of the header field key, or <code>null</code> if the
+   * specified index is not valid.
+   */
   public String getHeaderFieldKey(int n)
   {
     if (!connected)