diff options
author | Michael Koch <konqueror@gmx.de> | 2004-01-23 12:32:23 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2004-01-23 12:32:23 +0000 |
commit | 5d7b2198ba194fba04e4b82dc1d223f07bc83da6 (patch) | |
tree | 864103fde84c0fd65c6c0e8f345b49f80e9dca9a | |
parent | 8fac50e006cada9c19b2099bc39e8f2578bf42da (diff) | |
download | gcc-5d7b2198ba194fba04e4b82dc1d223f07bc83da6.zip gcc-5d7b2198ba194fba04e4b82dc1d223f07bc83da6.tar.gz gcc-5d7b2198ba194fba04e4b82dc1d223f07bc83da6.tar.bz2 |
2004-01-23 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/http/Connection.java
(connect): Don't initialize bufferedOutputStream if not needed.
(sendRequest): Set property for content length if content is present.
Write content only if present.
(getOutputStream): Check if already connected, dont connect,
initalize bufferedOutputStream if needed.
From-SVN: r76412
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/gnu/java/net/protocol/http/Connection.java | 19 |
2 files changed, 22 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index fe374fd..6ed347a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,14 @@ 2004-01-23 Michael Koch <konqueror@gmx.de> + * gnu/java/net/protocol/http/Connection.java + (connect): Don't initialize bufferedOutputStream if not needed. + (sendRequest): Set property for content length if content is present. + Write content only if present. + (getOutputStream): Check if already connected, dont connect, + initalize bufferedOutputStream if needed. + +2004-01-23 Michael Koch <konqueror@gmx.de> + * java/io/FileDescriptor.java (in, out, err): Added javadoc. (static): Merged loading code. diff --git a/libjava/gnu/java/net/protocol/http/Connection.java b/libjava/gnu/java/net/protocol/http/Connection.java index b785f23..bc58ebd 100644 --- a/libjava/gnu/java/net/protocol/http/Connection.java +++ b/libjava/gnu/java/net/protocol/http/Connection.java @@ -168,7 +168,6 @@ public final class Connection extends HttpURLConnection inputStream = new DataInputStream(new BufferedInputStream(socket.getInputStream())); outputStream = new BufferedOutputStream (socket.getOutputStream()); - bufferedOutputStream = new ByteArrayOutputStream (256); //default is too small sendRequest(); receiveReply(); @@ -226,7 +225,8 @@ public final class Connection extends HttpURLConnection setRequestProperty ("Content-type", "application/x-www-form-urlencoded"); // Set correct content length. - setRequestProperty ("Content-length", String.valueOf (bufferedOutputStream.size())); + if (bufferedOutputStream != null) + setRequestProperty ("Content-length", String.valueOf (bufferedOutputStream.size())); // Write all req_props name-value pairs to the output writer. Iterator itr = getRequestProperties().entrySet().iterator(); @@ -242,8 +242,11 @@ public final class Connection extends HttpURLConnection outputWriter.flush(); // Write content - bufferedOutputStream.writeTo (outputStream); - outputStream.flush(); + if (bufferedOutputStream != null) + { + bufferedOutputStream.writeTo (outputStream); + outputStream.flush(); + } } /** @@ -382,12 +385,16 @@ public final class Connection extends HttpURLConnection */ public OutputStream getOutputStream() throws IOException { + if (connected) + throw new ProtocolException + ("You cannot get an outputstream for an existing http connection"); + if (!doOutput) throw new ProtocolException ("Want output stream while haven't setDoOutput(true)"); - if (!connected) - connect(); + if (bufferedOutputStream == null) + bufferedOutputStream = new ByteArrayOutputStream (256); //default is too small return bufferedOutputStream; } |