Index: ChangeLog =================================================================== RCS file: /cvsroot/classpath/classpath/ChangeLog,v retrieving revision 1.1734 diff -u -b -B -r1.1734 ChangeLog --- ChangeLog 28 Dec 2003 21:50:38 -0000 1.1734 +++ ChangeLog 30 Dec 2003 12:15:16 -0000 @@ -1,3 +1,12 @@ +2003-12-30 Michael Koch + + * gnu/java/net/protocol/http/Connection.java + (requestProperties): New field. + (addRequestProperty): New method. + (getRequestProperty): New method. + (setRequestProperty): New method. + (getRequestProperties): New method. + 2003-12-28 Michael Koch * gnu/java/net/HeaderFieldHelper.java Index: gnu/java/net/protocol/http/Connection.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/net/protocol/http/Connection.java,v retrieving revision 1.11 diff -u -b -B -r1.11 Connection.java --- gnu/java/net/protocol/http/Connection.java 28 Dec 2003 21:50:38 -0000 1.11 +++ gnu/java/net/protocol/http/Connection.java 30 Dec 2003 12:15:16 -0000 @@ -52,6 +52,7 @@ import java.net.Socket; import java.net.URL; import java.net.URLConnection; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; import gnu.java.net.HeaderFieldHelper; @@ -119,6 +120,11 @@ private ByteArrayOutputStream bufferedOutputStream; /** + * This object holds the request properties. + */ + private HashMap requestProperties = new HashMap(); + + /** * This is the object that holds the header field information */ private HeaderFieldHelper headers = new HeaderFieldHelper(); @@ -408,6 +414,41 @@ else throw new ProtocolException ("Unsupported or unknown request method " + method); + } + + public void addRequestProperty(String key, String value) + { + if (connected) + throw new IllegalStateException("Already connected"); + + String old = (String) requestProperties.put(key, value); + + if (old != null) + requestProperties.put(key, old + "," + value); + } + + public String getRequestProperty(String key) + { + if (connected) + throw new IllegalStateException("Already connected"); + + return (String) requestProperties.get(key); + } + + public void setRequestProperty(String key, String value) + { + if (connected) + throw new IllegalStateException("Already connected"); + + requestProperties.put(key, value); + } + + public Map getRequestProperties() + { + if (connected) + throw new IllegalStateException("Already connected"); + + return requestProperties; } public String getHeaderField(String name)