Java tutorial
package org.apache.http.impl.entity; import java.io.IOException; import java.io.OutputStream; import org.apache.http.HttpEntity; import org.apache.http.HttpException; import org.apache.http.HttpMessage; import org.apache.http.annotation.Immutable; import org.apache.http.entity.ContentLengthStrategy; import org.apache.http.impl.io.ChunkedOutputStream; import org.apache.http.impl.io.ContentLengthOutputStream; import org.apache.http.impl.io.IdentityOutputStream; import org.apache.http.io.SessionOutputBuffer; import org.apache.http.util.Args; @Immutable @Deprecated public class EntitySerializer { private final ContentLengthStrategy lenStrategy; public EntitySerializer(ContentLengthStrategy contentLengthStrategy) { this.lenStrategy = (ContentLengthStrategy) Args.notNull(contentLengthStrategy, "Content length strategy"); } protected OutputStream doSerialize(SessionOutputBuffer sessionOutputBuffer, HttpMessage httpMessage) throws HttpException, IOException { long determineLength = this.lenStrategy.determineLength(httpMessage); if (determineLength == -2) { return new ChunkedOutputStream(sessionOutputBuffer); } if (determineLength == -1) { return new IdentityOutputStream(sessionOutputBuffer); } return new ContentLengthOutputStream(sessionOutputBuffer, determineLength); } public void serialize(SessionOutputBuffer sessionOutputBuffer, HttpMessage httpMessage, HttpEntity httpEntity) throws HttpException, IOException { Args.notNull(sessionOutputBuffer, "Session output buffer"); Args.notNull(httpMessage, "HTTP message"); Args.notNull(httpEntity, "HTTP entity"); OutputStream doSerialize = doSerialize(sessionOutputBuffer, httpMessage); httpEntity.writeTo(doSerialize); doSerialize.close(); } }