From b1a91cddb18bc6292741ee21d05259f397b13e32 Mon Sep 17 00:00:00 2001 From: mkoch Date: Fri, 23 Jan 2004 12:32:23 +0000 Subject: 2004-01-23 Michael Koch * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76412 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/net/protocol/http/Connection.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'libjava/gnu/java/net/protocol/http/Connection.java') diff --git a/libjava/gnu/java/net/protocol/http/Connection.java b/libjava/gnu/java/net/protocol/http/Connection.java index b785f2334bf..bc58ebd8bb7 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; } -- cgit v1.2.3