You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2005/04/26 23:43:59 UTC
svn commit: r164895 - in /jakarta/httpclient/trunk/http-common/src:
java/org/apache/http/ java/org/apache/http/entity/
java/org/apache/http/impl/ test/org/apache/http/impl/
Author: olegk
Date: Tue Apr 26 14:43:58 2005
New Revision: 164895
URL: http://svn.apache.org/viewcvs?rev=164895&view=rev
Log:
Removed HttpIncomingEntity interface and replaced HttpOutcomingEntity interface with HttpStreamableEntity
Added EntityWriter interface and its default impl
Added:
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpStreamableEntity.java
- copied, changed from r164760, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpOutgoingEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpEntity.java
- copied, changed from r164760, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpIncomingEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java (with props)
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java (with props)
Removed:
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpIncomingEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableIncomingEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpOutgoingEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpIncomingEntity.java
Modified:
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/ByteArrayEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/EntityConsumer.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/InputStreamEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/StringEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/BasicHttpEntity.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityGenerator.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpServerConnection.java
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityGenerator.java
jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultConnectionReuseStrategy.java
jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultEntityGenerator.java
jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultResponseConsumedWatcher.java
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpEntity.java Tue Apr 26 14:43:58 2005
@@ -29,6 +29,9 @@
package org.apache.http;
+import java.io.IOException;
+import java.io.InputStream;
+
/**
* <p>
* </p>
@@ -48,4 +51,5 @@
String getContentType();
+ InputStream getContent() throws IOException;
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpMutableEntity.java Tue Apr 26 14:43:58 2005
@@ -29,6 +29,8 @@
package org.apache.http;
+import java.io.InputStream;
+
/**
* <p>
* </p>
@@ -46,4 +48,5 @@
void setContentLength(long len);
+ void setContent(InputStream instream);
}
Copied: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpStreamableEntity.java (from r164760, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpOutgoingEntity.java)
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpStreamableEntity.java?p2=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpStreamableEntity.java&p1=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpOutgoingEntity.java&r1=164760&r2=164895&rev=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpOutgoingEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/HttpStreamableEntity.java Tue Apr 26 14:43:58 2005
@@ -41,7 +41,7 @@
*
* @since 4.0
*/
-public interface HttpOutgoingEntity extends HttpEntity {
+public interface HttpStreamableEntity extends HttpEntity {
void writeTo(OutputStream outstream) throws IOException;
Copied: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpEntity.java (from r164760, jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpIncomingEntity.java)
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpEntity.java?p2=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpEntity.java&p1=jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpIncomingEntity.java&r1=164760&r2=164895&rev=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpIncomingEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/BufferedHttpEntity.java Tue Apr 26 14:43:58 2005
@@ -33,7 +33,7 @@
import java.io.IOException;
import java.io.InputStream;
-import org.apache.http.HttpIncomingEntity;
+import org.apache.http.HttpEntity;
/**
* <p>
@@ -44,12 +44,12 @@
*
* @since 4.0
*/
-public class BufferedHttpIncomingEntity implements HttpIncomingEntity {
+public class BufferedHttpEntity implements HttpEntity {
- private final HttpIncomingEntity source;
+ private final HttpEntity source;
private final byte[] buffer;
- public BufferedHttpIncomingEntity(final HttpIncomingEntity entity) throws IOException {
+ public BufferedHttpEntity(final HttpEntity entity) throws IOException {
super();
if (entity == null) {
throw new IllegalArgumentException("HTTP entity may not be null");
@@ -74,11 +74,11 @@
return this.source.getContentType();
}
- public InputStream getInputStream() {
+ public InputStream getContent() throws IOException {
if (this.buffer != null) {
return new ByteArrayInputStream(this.buffer);
} else {
- return this.source.getInputStream();
+ return this.source.getContent();
}
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/ByteArrayEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/ByteArrayEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/ByteArrayEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/ByteArrayEntity.java Tue Apr 26 14:43:58 2005
@@ -29,10 +29,12 @@
package org.apache.http.entity;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
-import org.apache.http.HttpOutgoingEntity;
+import org.apache.http.HttpStreamableEntity;
/**
* <p>
@@ -43,11 +45,11 @@
*
* @since 4.0
*/
-public class ByteArrayEntity implements HttpOutgoingEntity {
+public class ByteArrayEntity implements HttpStreamableEntity {
private final static String DEFAULT_CONTENT_TYPE = "application/octet-stream";
- private final byte[] source;
+ private final byte[] content;
private String contentType = DEFAULT_CONTENT_TYPE;
private boolean chunked = false;
@@ -56,7 +58,7 @@
if (b == null) {
throw new IllegalArgumentException("Source byte array may not be null");
}
- this.source = b;
+ this.content = b;
}
public boolean isRepeatable() {
@@ -72,7 +74,7 @@
}
public long getContentLength() {
- return this.source.length;
+ return this.content.length;
}
public String getContentType() {
@@ -83,11 +85,15 @@
this.contentType = s;
}
+ public InputStream getContent() {
+ return new ByteArrayInputStream(this.content);
+ }
+
public void writeTo(final OutputStream outstream) throws IOException {
if (outstream == null) {
throw new IllegalArgumentException("Output stream may not be null");
}
- outstream.write(this.source);
+ outstream.write(this.content);
outstream.flush();
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/EntityConsumer.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/EntityConsumer.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/EntityConsumer.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/EntityConsumer.java Tue Apr 26 14:43:58 2005
@@ -38,7 +38,6 @@
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.HttpEntityEnclosingRequest;
-import org.apache.http.HttpIncomingEntity;
import org.apache.http.HttpMessage;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
@@ -56,7 +55,7 @@
public class EntityConsumer {
private final HttpMessage message;
- private final HttpIncomingEntity entity;
+ private final HttpEntity entity;
public EntityConsumer(final HttpResponse response) {
super();
@@ -64,7 +63,7 @@
throw new IllegalArgumentException("HTTP response may not be null");
}
this.message = response;
- this.entity = (HttpIncomingEntity)response.getEntity();
+ this.entity = response.getEntity();
}
public EntityConsumer(final HttpEntityEnclosingRequest request) {
@@ -73,14 +72,14 @@
throw new IllegalArgumentException("HTTP request may not be null");
}
this.message = request;
- this.entity = (HttpIncomingEntity)request.getEntity();
+ this.entity = request.getEntity();
}
- public static byte[] toByteArray(final HttpIncomingEntity entity) throws IOException {
+ public static byte[] toByteArray(final HttpEntity entity) throws IOException {
if (entity == null) {
throw new IllegalArgumentException("HTTP entity may not be null");
}
- InputStream instream = entity.getInputStream();
+ InputStream instream = entity.getContent();
if (instream == null) {
return new byte[] {};
}
@@ -118,11 +117,11 @@
}
public static String toString(
- final HttpIncomingEntity entity, final String defaultCharset) throws IOException {
+ final HttpEntity entity, final String defaultCharset) throws IOException {
if (entity == null) {
throw new IllegalArgumentException("HTTP entity may not be null");
}
- if (entity.getInputStream() == null) {
+ if (entity.getContent() == null) {
return "";
}
if (entity.getContentLength() > Integer.MAX_VALUE) {
@@ -135,7 +134,7 @@
if (charset == null) {
charset = "ISO-8859-1";
}
- Reader reader = new InputStreamReader(entity.getInputStream(), charset);
+ Reader reader = new InputStreamReader(entity.getContent(), charset);
StringBuffer buffer = new StringBuffer();
char[] tmp = new char[1024];
int l;
@@ -145,7 +144,7 @@
return buffer.toString();
}
- public static String toString(final HttpIncomingEntity entity) throws IOException {
+ public static String toString(final HttpEntity entity) throws IOException {
return toString(entity, null);
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/InputStreamEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/InputStreamEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/InputStreamEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/InputStreamEntity.java Tue Apr 26 14:43:58 2005
@@ -31,10 +31,8 @@
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
-import org.apache.http.HttpOutgoingEntity;
-import org.apache.http.io.ContentLengthInputStream;
+import org.apache.http.HttpEntity;
/**
* <p>
@@ -45,11 +43,11 @@
*
* @since 4.0
*/
-public class InputStreamEntity implements HttpOutgoingEntity {
+public class InputStreamEntity implements HttpEntity {
private final static String DEFAULT_CONTENT_TYPE = "application/octet-stream";
- private final InputStream source;
+ private final InputStream content;
private final long length;
private String contentType = DEFAULT_CONTENT_TYPE;
private boolean chunked = false;
@@ -59,7 +57,7 @@
if (instream == null) {
throw new IllegalArgumentException("Source input stream may not be null");
}
- this.source = instream;
+ this.content = instream;
this.length = length;
}
@@ -87,20 +85,8 @@
this.contentType = s;
}
- public void writeTo(final OutputStream outstream) throws IOException {
- if (outstream == null) {
- throw new IllegalArgumentException("Output stream may not be null");
- }
- InputStream instream = this.source;
- if (this.length >= 0) {
- instream = new ContentLengthInputStream(instream, this.length);
- }
- int l;
- byte[] tmp = new byte[1024];
- while ((l = instream.read(tmp)) != -1) {
- outstream.write(tmp, 0, l);
- }
- outstream.flush();
+ public InputStream getContent() throws IOException {
+ return this.content;
}
-
+
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/StringEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/StringEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/StringEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/entity/StringEntity.java Tue Apr 26 14:43:58 2005
@@ -29,10 +29,12 @@
package org.apache.http.entity;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
-import org.apache.http.HttpOutgoingEntity;
+import org.apache.http.HttpStreamableEntity;
/**
* <p>
@@ -43,11 +45,11 @@
*
* @since 4.0
*/
-public class StringEntity implements HttpOutgoingEntity {
+public class StringEntity implements HttpStreamableEntity {
private final static String DEFAULT_CONTENT_TYPE = "text/plain; charset=";
- private final String source;
+ private final String content;
private String contentType = null;
private boolean chunked = false;
@@ -56,7 +58,7 @@
if (s == null) {
throw new IllegalArgumentException("Source string may not be null");
}
- this.source = s;
+ this.content = s;
if (charset != null) {
this.contentType = DEFAULT_CONTENT_TYPE + charset;
}
@@ -79,7 +81,7 @@
}
public long getContentLength() {
- return this.source.length();
+ return this.content.length();
}
public String getContentType() {
@@ -89,13 +91,18 @@
public void setContentType(final String s) {
this.contentType = s;
}
-
+
+ public InputStream getContent() throws IOException {
+ String charset = EntityConsumer.getContentCharSet(this);
+ return new ByteArrayInputStream(this.content.getBytes(charset));
+ }
+
public void writeTo(final OutputStream outstream) throws IOException {
if (outstream == null) {
throw new IllegalArgumentException("Output stream may not be null");
}
String charset = EntityConsumer.getContentCharSet(this);
- byte[] content = this.source.getBytes(charset);
+ byte[] content = this.content.getBytes(charset);
outstream.write(content);
outstream.flush();
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/BasicHttpEntity.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/BasicHttpEntity.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/BasicHttpEntity.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/BasicHttpEntity.java Tue Apr 26 14:43:58 2005
@@ -31,7 +31,7 @@
import java.io.InputStream;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
/**
* <p>
@@ -42,7 +42,7 @@
*
* @since 4.0
*/
-public class BasicHttpEntity implements HttpMutableIncomingEntity {
+public class BasicHttpEntity implements HttpMutableEntity {
private String contenttype = null;
private InputStream instream = null;
@@ -61,7 +61,7 @@
return this.contenttype;
}
- public InputStream getInputStream() {
+ public InputStream getContent() {
return this.instream;
}
@@ -85,7 +85,7 @@
this.contenttype = contentType;
}
- public void setInputStream(final InputStream instream) {
+ public void setContent(final InputStream instream) {
this.instream = instream;
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityGenerator.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityGenerator.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityGenerator.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityGenerator.java Tue Apr 26 14:43:58 2005
@@ -36,7 +36,7 @@
import org.apache.http.HeaderElement;
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
import org.apache.http.ProtocolException;
import org.apache.http.io.ChunkedInputStream;
import org.apache.http.io.ContentLengthInputStream;
@@ -208,7 +208,7 @@
}
}
- public HttpMutableIncomingEntity generate(
+ public HttpMutableEntity generate(
final HttpDataReceiver datareceiver,
final HttpMessage message) throws HttpException, IOException {
if (datareceiver == null) {
@@ -218,7 +218,7 @@
throw new IllegalArgumentException("HTTP message may not be null");
}
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
HttpParams params = message.getParams();
boolean strict = params.isParameterTrue(HttpProtocolParams.STRICT_TRANSFER_ENCODING);
@@ -246,19 +246,19 @@
if (IDENTITY_ENCODING.equalsIgnoreCase(transferEncodingHeader.getValue())) {
entity.setChunked(false);
entity.setContentLength(-1);
- entity.setInputStream(getRawInputStream(datareceiver));
+ entity.setContent(getRawInputStream(datareceiver));
} else if ((len > 0) && (CHUNKED_ENCODING.equalsIgnoreCase(encodings[len - 1].getName()))) {
entity.setChunked(true);
entity.setContentLength(-1);
// if response body is empty
HttpConnectionParams connparams = new HttpConnectionParams(params);
if (datareceiver.isDataAvailable(connparams.getSoTimeout())) {
- entity.setInputStream(new ChunkedInputStream(datareceiver));
+ entity.setContent(new ChunkedInputStream(datareceiver));
} else {
if (strict) {
throw new ProtocolException("Chunk-encoded body declared but not sent");
}
- entity.setInputStream(null);
+ entity.setContent(null);
}
} else {
if (strict) {
@@ -266,7 +266,7 @@
}
entity.setChunked(false);
entity.setContentLength(-1);
- entity.setInputStream(getRawInputStream(datareceiver));
+ entity.setContent(getRawInputStream(datareceiver));
}
} else if (contentLengthHeader != null) {
long contentlen = -1;
@@ -292,11 +292,11 @@
if (contentlen >= 0) {
instream = new ContentLengthInputStream(instream, contentlen);
}
- entity.setInputStream(instream);
+ entity.setContent(instream);
} else {
entity.setChunked(false);
entity.setContentLength(-1);
- entity.setInputStream(getRawInputStream(datareceiver));
+ entity.setContent(getRawInputStream(datareceiver));
}
if (contentTypeHeader != null) {
entity.setContentType(contentTypeHeader.getValue());
Added: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java?rev=164895&view=auto
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java (added)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java Tue Apr 26 14:43:58 2005
@@ -0,0 +1,116 @@
+/*
+ * $HeadURL: $
+ * $Revision: $
+ * $Date: $
+ *
+ * ====================================================================
+ *
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.impl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpException;
+import org.apache.http.HttpStreamableEntity;
+import org.apache.http.HttpVersion;
+import org.apache.http.ProtocolException;
+import org.apache.http.io.ChunkedOutputStream;
+import org.apache.http.io.ContentLengthInputStream;
+import org.apache.http.io.HttpDataOutputStream;
+import org.apache.http.io.HttpDataTransmitter;
+import org.apache.http.io.OutputStreamHttpDataTransmitter;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision: $
+ *
+ * @since 4.0
+ */
+public class DefaultEntityWriter implements EntityWriter {
+
+ public DefaultEntityWriter() {
+ super();
+ }
+
+ private OutputStream getRawOutputStream(final HttpDataTransmitter datatransmitter) {
+ // This is a (quite ugly) performance hack
+ if (datatransmitter instanceof OutputStreamHttpDataTransmitter) {
+ // If we are dealing with the compatibility wrapper
+ // Get the original input stream
+ return ((OutputStreamHttpDataTransmitter)datatransmitter).getOutputStream();
+ } else {
+ return new HttpDataOutputStream(datatransmitter);
+ }
+ }
+
+ public void write(
+ final HttpEntity entity,
+ final HttpVersion version,
+ final HttpDataTransmitter datatransmitter) throws HttpException, IOException {
+ if (entity == null) {
+ throw new IllegalArgumentException("HTTP entity may not be null");
+ }
+ if (version == null) {
+ throw new IllegalArgumentException("HTTP version may not be null");
+ }
+ if (datatransmitter == null) {
+ throw new IllegalArgumentException("HTTP data transmitter may not be null");
+ }
+ boolean chunked = entity.isChunked() || entity.getContentLength() < 0;
+ if (chunked && version.lessEquals(HttpVersion.HTTP_1_0)) {
+ throw new ProtocolException(
+ "Chunked transfer encoding not allowed for " + version);
+ }
+ OutputStream outstream = getRawOutputStream(datatransmitter);
+ if (chunked) {
+ outstream = new ChunkedOutputStream(outstream);
+ }
+ if (entity instanceof HttpStreamableEntity) {
+ ((HttpStreamableEntity)entity).writeTo(outstream);
+ } else {
+ InputStream instream = entity.getContent();
+ long len = entity.getContentLength();
+ if (len >= 0) {
+ instream = new ContentLengthInputStream(instream, len);
+ }
+ int l;
+ byte[] tmp = new byte[1024];
+ while ((l = instream.read(tmp)) != -1) {
+ outstream.write(tmp, 0, l);
+ }
+ }
+ if (outstream instanceof ChunkedOutputStream) {
+ ((ChunkedOutputStream) outstream).finish();
+ }
+ outstream.flush();
+ }
+
+}
Propchange: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultEntityWriter.java
------------------------------------------------------------------------------
svn:executable = *
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpClientConnection.java Tue Apr 26 14:43:58 2005
@@ -31,7 +31,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
@@ -40,9 +39,8 @@
import org.apache.http.HttpEntityEnclosingRequest;
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
import org.apache.http.HttpMutableResponse;
-import org.apache.http.HttpOutgoingEntity;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -51,8 +49,6 @@
import org.apache.http.ProtocolException;
import org.apache.http.ProtocolSocketFactory;
import org.apache.http.StatusLine;
-import org.apache.http.io.ChunkedOutputStream;
-import org.apache.http.io.HttpDataOutputStream;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.util.HeadersParser;
@@ -188,22 +184,11 @@
if (request.getEntity() == null) {
return;
}
- HttpOutgoingEntity entity = (HttpOutgoingEntity)request.getEntity();
- HttpVersion ver = request.getRequestLine().getHttpVersion();
- boolean chunked = entity.isChunked() || entity.getContentLength() < 0;
- if (chunked && ver.lessEquals(HttpVersion.HTTP_1_0)) {
- throw new ProtocolException(
- "Chunked transfer encoding not allowed for " + ver);
- }
- OutputStream outstream = new HttpDataOutputStream(this.datatransmitter);
- if (chunked) {
- outstream = new ChunkedOutputStream(outstream);
- }
- entity.writeTo(outstream);
- if (outstream instanceof ChunkedOutputStream) {
- ((ChunkedOutputStream) outstream).finish();
- }
- outstream.flush();
+ EntityWriter entitywriter = new DefaultEntityWriter();
+ entitywriter.write(
+ request.getEntity(),
+ request.getRequestLine().getHttpVersion(),
+ this.datatransmitter);
}
public HttpResponse receiveResponse(final HttpRequest request)
@@ -280,22 +265,22 @@
protected void processResponseBody(
final HttpMutableResponse response) throws HttpException, IOException {
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpMutableIncomingEntity entity = entitygen.generate(this.datareceiver, response);
+ HttpMutableEntity entity = entitygen.generate(this.datareceiver, response);
if (canResponseHaveBody(response)) {
// if there is a result - ALWAYS wrap it in an observer which will
// close the underlying stream as soon as it is consumed, and notify
// the watcher that the stream has been consumed.
- InputStream instream = entity.getInputStream();
+ InputStream instream = entity.getContent();
instream = new AutoCloseInputStream(
instream, new DefaultResponseConsumedWatcher(this, response));
- entity.setInputStream(instream);
+ entity.setContent(instream);
} else {
if (entity.isChunked() || entity.getContentLength() > 0) {
if (isWarnEnabled()) {
warn("This response may not have a response body");
}
}
- entity.setInputStream(null);
+ entity.setContent(null);
}
response.setEntity(entity);
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpServerConnection.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpServerConnection.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpServerConnection.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/DefaultHttpServerConnection.java Tue Apr 26 14:43:58 2005
@@ -30,7 +30,6 @@
package org.apache.http.impl;
import java.io.IOException;
-import java.io.OutputStream;
import java.net.Socket;
import org.apache.http.Header;
@@ -39,16 +38,12 @@
import org.apache.http.HttpMutableEntityEnclosingRequest;
import org.apache.http.HttpMutableRequest;
import org.apache.http.HttpMutableResponse;
-import org.apache.http.HttpOutgoingEntity;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpServerConnection;
import org.apache.http.HttpStatus;
import org.apache.http.HttpVersion;
-import org.apache.http.ProtocolException;
import org.apache.http.RequestLine;
-import org.apache.http.io.ChunkedOutputStream;
-import org.apache.http.io.HttpDataOutputStream;
import org.apache.http.params.HttpParams;
import org.apache.http.util.HeadersParser;
@@ -203,22 +198,11 @@
if (response.getEntity() == null) {
return;
}
- HttpOutgoingEntity entity = (HttpOutgoingEntity)response.getEntity();
- HttpVersion ver = response.getStatusLine().getHttpVersion();
- boolean chunked = entity.isChunked() || entity.getContentLength() < 0;
- if (chunked && ver.lessEquals(HttpVersion.HTTP_1_0)) {
- throw new ProtocolException(
- "Chunked transfer encoding not allowed for " + ver);
- }
- OutputStream outstream = new HttpDataOutputStream(this.datatransmitter);
- if (chunked) {
- outstream = new ChunkedOutputStream(outstream);
- }
- entity.writeTo(outstream);
- if (outstream instanceof ChunkedOutputStream) {
- ((ChunkedOutputStream) outstream).finish();
- }
- outstream.flush();
+ EntityWriter entitywriter = new DefaultEntityWriter();
+ entitywriter.write(
+ response.getEntity(),
+ response.getStatusLine().getHttpVersion(),
+ this.datatransmitter);
}
}
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityGenerator.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityGenerator.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityGenerator.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityGenerator.java Tue Apr 26 14:43:58 2005
@@ -33,7 +33,7 @@
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
import org.apache.http.io.HttpDataReceiver;
/**
@@ -47,7 +47,7 @@
*/
public interface EntityGenerator {
- HttpMutableIncomingEntity generate(
+ HttpMutableEntity generate(
HttpDataReceiver datareceiver,
HttpMessage message) throws HttpException, IOException;
Added: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java?rev=164895&view=auto
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java (added)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java Tue Apr 26 14:43:58 2005
@@ -0,0 +1,55 @@
+/*
+ * $HeadURL: $
+ * $Revision: $
+ * $Date: $
+ *
+ * ====================================================================
+ *
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.impl;
+
+import java.io.IOException;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpException;
+import org.apache.http.HttpVersion;
+import org.apache.http.io.HttpDataTransmitter;
+
+/**
+ * <p>
+ * </p>
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision: $
+ *
+ * @since 4.0
+ */
+public interface EntityWriter {
+
+ void write(
+ HttpEntity entity,
+ HttpVersion version,
+ HttpDataTransmitter datatransmitter) throws HttpException, IOException;
+
+}
Propchange: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/EntityWriter.java
------------------------------------------------------------------------------
svn:executable = *
Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultConnectionReuseStrategy.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultConnectionReuseStrategy.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultConnectionReuseStrategy.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultConnectionReuseStrategy.java Tue Apr 26 14:43:58 2005
@@ -29,7 +29,7 @@
package org.apache.http.impl;
import org.apache.http.Header;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
import org.apache.http.HttpMutableResponse;
import org.apache.http.HttpVersion;
import org.apache.http.StatusLine;
@@ -67,7 +67,7 @@
}
public void testNoContentLengthResponse() throws Exception {
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
entity.setChunked(false);
entity.setContentLength(-1);
StatusLine statusline = new StatusLine(HttpVersion.HTTP_1_0, 200, "OK");
@@ -79,7 +79,7 @@
}
public void testExplicitClose() throws Exception {
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
entity.setChunked(true);
entity.setContentLength(-1);
// Use HTTP 1.1
@@ -93,7 +93,7 @@
}
public void testExplicitKeepAlive() throws Exception {
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
entity.setChunked(false);
entity.setContentLength(10);
// Use HTTP 1.0
Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultEntityGenerator.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultEntityGenerator.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultEntityGenerator.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultEntityGenerator.java Tue Apr 26 14:43:58 2005
@@ -32,7 +32,7 @@
import java.io.InputStream;
import org.apache.http.Header;
-import org.apache.http.HttpIncomingEntity;
+import org.apache.http.HttpEntity;
import org.apache.http.HttpMutableMessage;
import org.apache.http.ProtocolException;
import org.apache.http.io.ChunkedInputStream;
@@ -91,11 +91,11 @@
message.addHeader(new Header("Transfer-Encoding", "identity, chunked"));
message.addHeader(new Header("Content-Length", "plain wrong"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertTrue(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ChunkedInputStream);
+ assertTrue(entity.getContent() instanceof ChunkedInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -103,7 +103,7 @@
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertTrue(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ChunkedInputStream);
+ assertTrue(entity.getContent() instanceof ChunkedInputStream);
}
public void testEntityWithIdentityTransferEncoding() throws Exception {
@@ -117,11 +117,11 @@
message.addHeader(new Header("Transfer-Encoding", "identity"));
message.addHeader(new Header("Content-Length", "plain wrong"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ByteArrayInputStream);
+ assertTrue(entity.getContent() instanceof ByteArrayInputStream);
}
public void testEntityWithUnsupportedTransferEncoding() throws Exception {
@@ -134,11 +134,11 @@
message.addHeader(new Header("Transfer-Encoding", "whatever; param=value, chunked"));
message.addHeader(new Header("Content-Length", "plain wrong"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertTrue(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ChunkedInputStream);
+ assertTrue(entity.getContent() instanceof ChunkedInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -160,11 +160,11 @@
message.addHeader(new Header("Transfer-Encoding", "chunked, identity"));
message.addHeader(new Header("Content-Length", "plain wrong"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertFalse(entity.getInputStream() instanceof ChunkedInputStream);
+ assertFalse(entity.getContent() instanceof ChunkedInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -185,11 +185,11 @@
message.addHeader(new Header("Content-Type", "unknown"));
message.addHeader(new Header("Content-Length", "0"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(0, entity.getContentLength());
assertFalse(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ContentLengthInputStream);
+ assertTrue(entity.getContent() instanceof ContentLengthInputStream);
}
public void testEntityWithMultipleContentLength() throws Exception {
@@ -203,12 +203,12 @@
message.addHeader(new Header("Content-Length", "0"));
message.addHeader(new Header("Content-Length", "1"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertNotNull(entity.getInputStream());
- assertTrue(entity.getInputStream() instanceof ContentLengthInputStream);
+ assertNotNull(entity.getContent());
+ assertTrue(entity.getContent() instanceof ContentLengthInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -231,12 +231,12 @@
message.addHeader(new Header("Content-Length", "yyy"));
message.addHeader(new Header("Content-Length", "xxx"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertNotNull(entity.getInputStream());
- assertTrue(entity.getInputStream() instanceof ContentLengthInputStream);
+ assertNotNull(entity.getContent());
+ assertTrue(entity.getContent() instanceof ContentLengthInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -258,13 +258,13 @@
message.addHeader(new Header("Content-Length", "yyy"));
message.addHeader(new Header("Content-Length", "xxx"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertNotNull(entity.getInputStream());
- assertFalse(entity.getInputStream() instanceof ContentLengthInputStream);
- assertTrue(entity.getInputStream() instanceof HttpDataInputStream);
+ assertNotNull(entity.getContent());
+ assertFalse(entity.getContent() instanceof ContentLengthInputStream);
+ assertTrue(entity.getContent() instanceof HttpDataInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -285,13 +285,13 @@
message.addHeader(new Header("Content-Type", "unknown"));
message.addHeader(new Header("Content-Length", "xxx"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertNotNull(entity.getInputStream());
- assertFalse(entity.getInputStream() instanceof ContentLengthInputStream);
- assertTrue(entity.getInputStream() instanceof HttpDataInputStream);
+ assertNotNull(entity.getContent());
+ assertFalse(entity.getContent() instanceof ContentLengthInputStream);
+ assertTrue(entity.getContent() instanceof HttpDataInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
@@ -310,14 +310,14 @@
// lenient mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, false);
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertNotNull(entity.getInputStream());
- assertFalse(entity.getInputStream() instanceof ContentLengthInputStream);
- assertFalse(entity.getInputStream() instanceof ChunkedInputStream);
- assertTrue(entity.getInputStream() instanceof HttpDataInputStream);
+ assertNotNull(entity.getContent());
+ assertFalse(entity.getContent() instanceof ContentLengthInputStream);
+ assertFalse(entity.getContent() instanceof ChunkedInputStream);
+ assertTrue(entity.getContent() instanceof HttpDataInputStream);
}
public void testOldIOWrapper() throws Exception {
@@ -326,11 +326,11 @@
HttpMutableMessage message = new BasicHttpMessage();
message.addHeader(new Header("Content-Type", "unknown"));
EntityGenerator entitygen = new DefaultEntityGenerator();
- HttpIncomingEntity entity = entitygen.generate(datareceiver, message);
+ HttpEntity entity = entitygen.generate(datareceiver, message);
assertNotNull(entity);
assertEquals(-1, entity.getContentLength());
assertFalse(entity.isChunked());
- assertTrue(entity.getInputStream() instanceof ByteArrayInputStream);
+ assertTrue(entity.getContent() instanceof ByteArrayInputStream);
}
}
Modified: jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultResponseConsumedWatcher.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultResponseConsumedWatcher.java?rev=164895&r1=164894&r2=164895&view=diff
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultResponseConsumedWatcher.java (original)
+++ jakarta/httpclient/trunk/http-common/src/test/org/apache/http/impl/TestDefaultResponseConsumedWatcher.java Tue Apr 26 14:43:58 2005
@@ -32,7 +32,7 @@
import org.apache.http.Header;
import org.apache.http.HttpConnection;
-import org.apache.http.HttpMutableIncomingEntity;
+import org.apache.http.HttpMutableEntity;
import org.apache.http.HttpMutableResponse;
import org.apache.http.HttpVersion;
import org.apache.http.StatusLine;
@@ -79,10 +79,10 @@
public void testConnectionAutoClose() throws Exception {
byte[] data = new byte[] {'1', '2', '3'};
HttpConnection conn = new HttpConnectionMockup();
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
entity.setChunked(false);
entity.setContentLength(data.length);
- entity.setInputStream(new ByteArrayInputStream(data));
+ entity.setContent(new ByteArrayInputStream(data));
StatusLine statusline = new StatusLine(HttpVersion.HTTP_1_0, 200, "OK");
HttpMutableResponse response = new BasicHttpResponse(statusline);
@@ -92,21 +92,21 @@
// Wrap the entity input stream
ResponseConsumedWatcher watcher = new DefaultResponseConsumedWatcher(conn, response);
- entity.setInputStream(new AutoCloseInputStream(entity.getInputStream(), watcher));
+ entity.setContent(new AutoCloseInputStream(entity.getContent(), watcher));
assertTrue(conn.isOpen());
int b;
- while ((b = entity.getInputStream().read()) != -1) {}
+ while ((b = entity.getContent().read()) != -1) {}
assertFalse(conn.isOpen());
}
public void testConnectionKeepAlive() throws Exception {
byte[] data = new byte[] {'1', '2', '3'};
HttpConnection conn = new HttpConnectionMockup();
- HttpMutableIncomingEntity entity = new BasicHttpEntity();
+ HttpMutableEntity entity = new BasicHttpEntity();
entity.setChunked(false);
entity.setContentLength(data.length);
- entity.setInputStream(new ByteArrayInputStream(data));
+ entity.setContent(new ByteArrayInputStream(data));
StatusLine statusline = new StatusLine(HttpVersion.HTTP_1_1, 200, "OK");
HttpMutableResponse response = new BasicHttpResponse(statusline);
@@ -116,11 +116,11 @@
// Wrap the entity input stream
ResponseConsumedWatcher watcher = new DefaultResponseConsumedWatcher(conn, response);
- entity.setInputStream(new AutoCloseInputStream(entity.getInputStream(), watcher));
+ entity.setContent(new AutoCloseInputStream(entity.getContent(), watcher));
assertTrue(conn.isOpen());
int b;
- while ((b = entity.getInputStream().read()) != -1) {}
+ while ((b = entity.getContent().read()) != -1) {}
assertTrue(conn.isOpen());
}
}