I tried to send POST request to HttpURLConnection but writing to
streams returned by HttpURLConnection.getOutputStream() had no effect.

This is because getOutputStream() calls connect() before any data is
written to the stream.

Here is a patch to fix it.

diff -ur kaffe-1.1.3/libraries/javalib/gnu/java/net/protocol/http/Connection.java 
kaffe/libraries/javalib/gnu/java/net/protocol/http/Connection.java
--- kaffe-1.1.3/libraries/javalib/gnu/java/net/protocol/http/Connection.java    Thu 
Dec  4 05:33:39 2003
+++ kaffe/libraries/javalib/gnu/java/net/protocol/http/Connection.java  Wed Dec 10 
18:51:51 2003
@@ -169,7 +169,8 @@
        (new BufferedInputStream (socket.getInputStream()));
 
     outputStream = new BufferedOutputStream (socket.getOutputStream());
-    bufferedOutputStream = new ByteArrayOutputStream (256); //default is too small
+    if (bufferedOutputStream == null)
+      bufferedOutputStream = new ByteArrayOutputStream ();
     outputWriter = new PrintWriter (new OutputStreamWriter (outputStream, "8859_1")); 
 
     sendRequest();
@@ -437,9 +438,8 @@
     if (!method.equals ("POST")) //But we might support "PUT" in future
       setRequestMethod ("POST");
   
-    if (!connected)
-      connect();
-  
+    if(bufferedOutputStream == null)
+      bufferedOutputStream = new ByteArrayOutputStream (256); //default is too small
     return bufferedOutputStream;
   }
 
---
Atsushi Nemoto

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to